Perguntas com a marcação «const»

105
Como inicializar a variável de membro const em uma classe?

#include <iostream> using namespace std; class T1 { const int t = 100; public: T1() { cout << "T1 constructor: " << t << endl; } }; Quando estou tentando inicializar a variável const membro tcom 100. Mas está me dando o seguinte erro: test.cpp:21: error: ISO C++...

104
Por que argc não é uma constante?

int main( const int argc , const char[] const argv) Como Effective C ++ Item # 3 afirma "Use const sempre que possível", eu começo a pensar "por que não fazer esses parâmetros 'constantes' const"? Existe algum cenário em que o valor de argcé modificado em um

102
Captura C ++ 0x lambda por valor sempre const?

Existe alguma maneira de capturar por valor e tornar o valor capturado não constante? Eu tenho um functor de biblioteca que gostaria de capturar e chamar um método que não é constante, mas deveria ser. O seguinte não compila, mas fazer foo :: operator () const corrige isso. struct foo { bool...

100
C ++ const map element access

Tentei usar o operador [] para acessar o elemento em um mapa const C ++, mas esse método falhou. Também tentei usar "at ()" para fazer a mesma coisa. Funcionou dessa vez. No entanto, não consegui encontrar nenhuma referência sobre o uso de "at ()" para acessar o elemento em um mapa const C ++. É...

13
Como uma const expr pode ser avaliada tão rapidamente

Eu tenho experimentado expressões const que são avaliadas em tempo de compilação. Mas eu brinquei com um exemplo que parece incrivelmente rápido quando executado em tempo de compilação. #include<iostream> constexpr long int fib(int n) { return (n <= 1)? n : fib(n-1) + fib(n-2); }...

9
Como evitar modificações nos dados da matriz?

Digamos que eu tenha uma classe parecida com esta (este é apenas um exemplo): 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() {...