Articles of const

Perché non è l’operatore const per le mappe STL?

Esempio inventato, nell’interesse della domanda: void MyClass::MyFunction( int x ) const { std::cout << m_map[x] << std::endl } Questo non verrà compilato, poiché l’operatore [] non è const. Questo è un peccato, poiché la syntax [] sembra molto pulita. Invece, devo fare qualcosa di simile a questo: void MyClass::MyFunction( int x ) const { MyMap […]

La dimensione di (enum) == sizeof (int), sempre?

La dimensione di (enum) == sizeof (int), sempre? O dipende dal compilatore? È sbagliato dire che il compilatore è ottimizzato per le lunghezze delle parole (allineamento della memoria), cioè y int è la dimensione della parola su un particolare compilatore? Significa che non c’è penalità di elaborazione se uso le enumerazioni, dato che sarebbero allineate […]

Eliminazione di un puntatore a const (T const *)

Ho una domanda di base riguardante i puntatori const. Non sono autorizzato a chiamare funzioni membro non const tramite un puntatore const. Tuttavia, sono autorizzato a farlo su un puntatore const: delete p; Questo chiamerà il distruttore della class che in sostanza è un “metodo” non const. Perché è permesso? È solo per supportare questo: […]

Che tipo di ottimizzazione offre const in C / C ++? (se presente)

So che, ove ansible, dovresti usare la parola chiave const quando passi parametri per riferimento o per puntatore per ragioni di leggibilità. Esistono ottimizzazioni che il compilatore può fare se si specifica che un argomento è costante? Potrebbero esserci alcuni casi: Parametri di funzione: Riferimento costante: void foo(const SomeClass& obj) Oggetto Constant SomeClass: void foo(const […]

Restituzione dell’object temporaneo e associazione al riferimento const

Possibile duplicato: Un riferimento const prolunga la vita di un temporaneo? Il mio compilatore non si lamenta dell’assegnazione temporanea al riferimento const: string foo() { return string(“123”); }; int main() { const string& val = foo(); printf(“%s\n”, val.c_str()); return 0; } Perché? Ho pensato che la stringa restituita da foo sia temporanea e val possa […]

Quali sono i qualificatori const di livello superiore?

Cosa significa const a qualificatore “top level” in C ++? E quali sono gli altri livelli? Per esempio: int const *i; int *const i; int const *const i;

Dichiara un array const

È ansible scrivere qualcosa di simile al seguente? public const string[] Titles = { “German”, “Spanish”, “Corrects”, “Wrongs” };

const int vs int const come parametro di funzione in C ++ e C

Domanda veloce: int testfunc1 (const int a) { return a; } int testfunc2 (int const a) { return a; } Queste due funzioni sono le stesse in ogni aspetto o c’è una differenza? Mi interessa una risposta per il linguaggio C, ma se c’è qualcosa di interessante nel linguaggio C ++, mi piacerebbe saperlo.

Const in javascript? Quando usarlo ed è necessario

Recentemente ho trovato la parola chiave const in javascript. Da quello che posso dire, è usato per creare variabili immutabili , e ho provato a verificare che non possa essere ridefinito (in node.js): const x = ‘const’; const x = ‘not-const’; // Will give an error: ‘constant ‘x’ has already been defined’ Mi rendo conto […]

Const di Java finale contro C ++

Il tutorial sui programmatori di Java per C ++ dice che (il punto forte è il mio): La parola chiave final è approssimativamente equivalente a const in C ++ Cosa significa “approssimativamente” in questo contesto? Non sono esattamente uguali? Quali sono le differenze, se ce ne sono?