Pytania oznaczone «const»

105
Jak zainicjować zmienną składową const w klasie?

#include <iostream> using namespace std; class T1 { const int t = 100; public: T1() { cout << "T1 constructor: " << t << 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++...

104
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...

102
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...

101
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...

13
Jak można tak szybko ocenić const expr

Próbowałem wyrażeń stałych, które są oceniane podczas kompilacji. Ale bawiłem się przykładem, który wydaje się niewiarygodnie szybki, gdy jest wykonywany w czasie kompilacji. #include<iostream> constexpr long int fib(int n) { return (n <= 1)? n : fib(n-1) + fib(n-2); } int main ()...

9
Jak zapobiec modyfikacji danych tablicowych?

Powiedzmy, że mam klasę, która wygląda tak (to tylko przykład): class A { double *ptr; public: A() : ptr( new double[100] ) {} A( const A &other ) { other.ptr[7] = 15; } void doNotChangeMyData() const { ptr[43] = 14; } void changeMyData() { ptr[43] = 14; } ~A() { delete[] ptr;...