Articles of const

Em C, uma variável const pode ser modificada por meio de um ponteiro?

Eu escrevi algo parecido com isso no meu código const int x=1; int *ptr; ptr = &x; *ptr = 2; Isso funciona em todos os compiladores? Por que o compilador do GCC não percebe que estamos mudando uma variável constante?

C ++ 0x lambda capturar por valor sempre const?

Existe alguma maneira de capturar por valor e tornar o valor capturado não-const? Eu tenho um functor biblioteca que eu gostaria de capturar e chamar um método que não é const, mas deveria ser. O seguinte não compila, mas faz com que foo :: operator () const o conserte. struct foo { bool operator () […]

É o tamanho de (enum) == sizeof (int), sempre?

É o tamanho de (enum) == sizeof (int), sempre? Ou é dependente do compilador? É errado dizer, como o compilador é otimizado para comprimentos de palavras (alinhamento de memory) ou seja, y int é o tamanho da palavra em um compilador específico? Isso significa que não há penalidade de processamento se eu usar enums, pois […]

Excluindo um ponteiro para const (T const *)

Eu tenho uma pergunta básica sobre os pointers de const. Eu não tenho permissão para chamar qualquer function de membro não const usando um ponteiro const. No entanto, tenho permissão para fazer isso em um ponteiro const: delete p; Isto irá chamar o destruidor da class que em essência é um ‘método’ não-constante. Por que […]

Quais são os qualificadores de const de nível superior?

O que significa const no classificador de “nível superior” em C ++? E quais são os outros níveis? Por exemplo: int const *i; int *const i; int const *const i;

Retornando object temporário e vinculando a referência const

Duplicar Possível: Uma referência const prolonga a vida de um temporário? Meu compilador não reclama sobre a atribuição temporária à referência const: string foo() { return string(“123”); }; int main() { const string& val = foo(); printf(“%s\n”, val.c_str()); return 0; } Por quê? Eu pensei que a string retornada de foo é temporária e val […]

Declarar uma matriz de const

É possível escrever algo semelhante ao seguinte? public const string[] Titles = { “German”, “Spanish”, “Corrects”, “Wrongs” };

const int vs int const como parâmetro de function em C ++ e C

Pergunta rápida: int testfunc1 (const int a) { return a; } int testfunc2 (int const a) { return a; } Essas duas funções são as mesmas em todos os aspectos ou há diferença? Estou interessado em uma resposta para a linguagem C, mas se há algo interessante na linguagem C ++, gostaria de saber também.

Como inicializar um campo const no construtor?

Imagine que eu tenho uma class C ++ Foo e uma barra de classs que precisa ser criada com um construtor no qual um ponteiro Foo é passado, e esse ponteiro deve permanecer imutável no ciclo de vida da instância Bar. Qual é a maneira correta de fazer isso? Na verdade, eu pensei que poderia […]

C ++: referência const, antes vs depois do especificador de tipo

Qual é a diferença entre os argumentos em: int foo1(const Fred &arg) { … } e int foo2(Fred const &arg) { … } ? Eu não vejo este caso coberto no FAQ do parashift.