Pytania otagowane jako const

Stałe w programowaniu to definicje, których wartość jest ustalana podczas wykonywania programu. Na przykład literały w większości języków są stałymi. W referencyjnie przejrzystych stylach programowania wszystkie definicje są stałe. Obszar przechowywania danych kwalifikowany jako const (obiekt, pole, zmienna, parametr) to taki, który „nigdy się nie zmienia”, umożliwiając w ten sposób dodatkowe optymalizacje generatora kodu i dodatkowe statyczne sprawdzanie poprawności programu.

3
Jak sortować za pomocą lambda?
sort(mMyClassVector.begin(), mMyClassVector.end(), [](const MyClass & a, const MyClass & b) { return a.mProperty > b.mProperty; }); Chciałbym użyć funkcji lambda do sortowania niestandardowych klas zamiast wiązania metody instancji. Jednak powyższy kod powoduje błąd: błąd C2564: „const char *”: konwersja stylu funkcji na typ wbudowany może przyjąć tylko jeden argument Działa …
142 c++  sorting  lambda  char  const 


4
Ile i jakie są zastosowania „const” w C ++?
Jako początkujący programista C ++ istnieją pewne konstrukcje, które nadal wydają mi się bardzo niejasne, jednym z nich jest const. Możesz go używać w tak wielu miejscach i przy tak wielu różnych efektach, że dla początkującego prawie niemożliwe jest wyjść z życiem. Czy jakiś guru C ++ wyjaśni raz na …
129 c++  const 

3
Idź do konwencji nazewnictwa dla const
Próbuję ustalić, czy istnieje konwencja nazewnictwa nazwisk constw Golang. Osobiście starałbym się postępować zgodnie ze stylem C i pisać je wielkimi literami, ale nie znalazłem nic na tej stronie http://golang.org/doc/effective_go.html, która wydaje się zawierać listę niektórych konwencji nazewnictwa dla tego języka.



4
Różnica między `const shared_ptr <T>` i `shared_ptr <const T>`?
Piszę metodę akcesora dla współdzielonego wskaźnika w C ++, która wygląda mniej więcej tak: class Foo { public: return_type getBar() const { return m_bar; } private: boost::shared_ptr&lt;Bar&gt; m_bar; } Tak więc, aby obsługiwać stałą getBar()zwracanego typu, powinno być a, boost::shared_ptrktóre zapobiega modyfikacji wskazanego przez Barniego. Moje przypuszczenie jest to, że …
116 c++  boost  const  shared-ptr 


5
C ++ map Access odrzuca kwalifikatory (const)
Poniższy kod mówi, że przekazanie mapy as constdo operator[]metody powoduje odrzucenie kwalifikatorów: #include &lt;iostream&gt; #include &lt;map&gt; #include &lt;string&gt; using namespace std; class MapWrapper { public: const int &amp;get_value(const int &amp;key) const { return _map[key]; } private: map&lt;int, int&gt; _map; }; int main() { MapWrapper mw; cout &lt;&lt; mw.get_value(42) &lt;&lt; endl; …
113 c++  stl  const  maps 

10
Jak zainicjować prywatną statyczną mapę const w C ++?
Potrzebuję tylko słownika lub tablicy asocjacyjnej string=&gt; int. W tym przypadku istnieje mapa typów C ++. Ale potrzebuję tylko jednej mapy dla wszystkich instancji (-&gt; statyczna) i tej mapy nie można zmienić (-&gt; stała); Znalazłem ten sposób w bibliotece boost std::map&lt;int, char&gt; example = boost::assign::map_list_of(1, 'a') (2, 'b') (3, 'c'); …

10
Jak zainicjować zmienną składową const w klasie?
#include &lt;iostream&gt; using namespace std; class T1 { const int t = 100; public: T1() { cout &lt;&lt; "T1 constructor: " &lt;&lt; t &lt;&lt; endl; } }; Kiedy próbuję zainicjować zmienną składową const wartością t100. Ale powoduje to następujący błąd: test.cpp:21: error: ISO C++ forbids initialization of member ‘t’ test.cpp:21: …
105 c++  const 

7
Dlaczego argc nie jest stałą?
int main( const int argc , const char[] const argv) Ponieważ w efektywnym punkcie C ++ nr 3 napisano: „Używaj stałej zawsze, gdy jest to możliwe”, zaczynam się zastanawiać „dlaczego nie uczynić tych„ stałych ”parametrów const? Czy istnieje scenariusz, w którym wartość argcjest modyfikowana w programie?
104 c++  const  main  argc  effective-c++ 

2
C ++ 0x przechwytywanie lambda przez wartość zawsze const?
Czy istnieje sposób na przechwycenie według wartości i uczynienie przechwyconej wartości inną niż stała? Mam funktor biblioteczny, który chciałbym przechwycić i wywołać metodę, która nie jest stała, ale powinna być. Poniższe nie kompiluje się, ale wykonanie foo :: operator () const naprawia to. struct foo { bool operator () ( …
102 c++  lambda  const  c++11 

7
Dlaczego mogę zmienić wartość stałej w javascript
Wiem, że ES6 nie jest jeszcze ustandaryzowane, ale wiele przeglądarek obecnie obsługuje const słowo kluczowe w JS. W specyfikacji jest napisane, że: Wartość stałej nie może ulec zmianie przez ponowne przypisanie, a stałej nie można ponownie zadeklarować. Z tego powodu, chociaż można zadeklarować stałą bez jej inicjalizacji, byłoby to bezcelowe. …

4
Dostęp do elementów mapy const w C ++
Próbowałem użyć operatora [], aby uzyskać dostęp do elementu w mapie const C ++, ale ta metoda zawiodła. Próbowałem też użyć „at ()”, aby zrobić to samo. Tym razem zadziałało. Jednak nie mogłem znaleźć żadnego odniesienia do używania "at ()" w celu uzyskania dostępu do elementu w mapie const C …
101 c++  stl  map  const 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.