Perguntas com a marcação «const»

Constantes na programação são definições cujo valor é fixo durante a execução de um programa. Os literais na maioria dos idiomas são constantes, por exemplo. Nos estilos de programação referencialmente transparentes, todas as definições são constantes. Uma área de armazenamento de dados qualificada pela const (objeto, campo, variável, parâmetro) é aquela que "nunca muda", permitindo otimizações extras do gerador de código e verificação estática adicional da correção do programa.


3
Como classificar com uma lambda?
sort(mMyClassVector.begin(), mMyClassVector.end(), [](const MyClass & a, const MyClass & b) { return a.mProperty > b.mProperty; }); Gostaria de usar uma função lambda para classificar classes personalizadas no lugar de vincular um método de instância. No entanto, o código acima gera o erro: erro C2564: 'const char *': uma conversão no …
136 c++  sorting  lambda  char  const 

4
Quantos e quais são os usos de "const" em C ++?
Como programador iniciante em C ++, existem algumas construções que ainda parecem muito obscuras para mim, uma delas é const. Você pode usá-lo em tantos lugares e com tantos efeitos diferentes que é quase impossível para um iniciante sair vivo. Algum guru de C ++ explicará uma vez para sempre …
129 c++  const 


3
Convenções de nomenclatura para const
Estou tentando determinar se existe uma convenção de nomenclatura para os nomes de constem Golang. Eu pessoalmente tenderia a seguir o estilo C e escrevê-los em maiúsculas, mas não encontrei nada nesta página http://golang.org/doc/effective_go.html que parece listar algumas convenções de nomenclatura para o idioma.

4
Diferença entre `const shared_ptr <T>` e `shared_ptr <const T>`?
Estou escrevendo um método de acesso para um ponteiro compartilhado em C ++ que funciona mais ou menos assim: class Foo { public: return_type getBar() const { return m_bar; } private: boost::shared_ptr&lt;Bar&gt; m_bar; } Portanto, para oferecer suporte à constância getBar()do tipo de retorno deve ser um boost::shared_ptrque evite a …
116 c++  boost  const  shared-ptr 



5
O acesso ao mapa C ++ descarta qualificadores (const)
O código a seguir diz que passar o mapa como constno operator[]método descarta os qualificadores: #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; …
113 c++  stl  const  maps 


10
Como inicializar a variável de membro const em uma classe?
#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; } }; Quando estou tentando inicializar a variável const membro tcom 100. Mas está me dando o seguinte erro: test.cpp:21: error: ISO C++ forbids initialization …
105 c++  const 

7
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 programa?
104 c++  const  main  argc  effective-c++ 

2
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 …
102 c++  lambda  const  c++11 


4
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 …
100 c++  stl  map  const 

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.