Articles of const

Modificar un const int en C ++

ejecutar el siguiente código muestra que & x = ptr, entonces ¿cómo es que x y * ptr no son iguales? const int x=10; int* ptr =(int*) &x; *ptr = (*ptr)+1; cout << &x << " " << x << " " << ptr <<" " <<*ptr; //output : 0012FF60 10 0012FF60 11

referencias constantes con typedef y plantillas en c ++

Escuché que los objetos temporales solo se pueden asignar a referencias constantes. Pero este código da error #include template t const& check(){ return t(); //return a temporary object } int main(int argc, char** argv){ const int &resCheck = check(); /* fine */ typedef int& ref; const ref error = check(); / *error */ return 0; […]

¿Por qué capturar una excepción como referencia-a-const?

He escuchado y leído muchas veces que es mejor detectar una excepción como referencia-a-const en lugar de como referencia. Por que es try { // stuff } catch (const std::exception& e) { // stuff } mejor que try { // stuff } catch (std::exception& e) { // stuff }

¿No es innecesario el modificador const?

El ítem 3 ” Effective C ++ ” dice “Use const siempre que sea posible”, y da un ejemplo como: const Rational operator*(const Rational& lhs, const Rational& rhs); para evitar que los clientes puedan cometer atrocidades como esta: Rational a, b, c; … (a * b) = c; // invoke operator= on the result of […]

const &, & y && especificadores para funciones miembro en C ++

Recientemente estuve leyendo la API de boost::optional y encontré las líneas: T const& operator *() const& ; T& operator *() & ; T&& operator *() && ; También escribí mi propio progtwig que define las funciones de los miembros como const &, & y && (Tenga en cuenta que no estoy hablando del tipo de […]

Conjunto variable modificado en el scope del archivo

Quiero crear una matriz estática constante para usar en todo mi archivo de implementación de Objective-C similar a algo así en el nivel superior de mi archivo “.m”: static const int NUM_TYPES = 4; static int types[NUM_TYPES] = { 1, 2, 3, 4 }; Planeo usar NUM_TYPES más adelante en el archivo, así que quería […]

Diferencia entre char * y const char *?

Cuál es la diferencia entre char* name que apunta a un literal de cadena constante, y const char* name

Miembro de la clase no estático, no puede usar el operador de asignación predeterminado

Un progtwig que estoy expandiendo usa std::pair mucho. Hay un punto en mi código en el cual el comstackdor arroja un tamaño bastante grande: El miembro de la estructura no estática, ‘const Ptr std :: pair, const double *> :: first’ no puede usar el operador de asignación predeterminado No estoy seguro de a qué […]

En C, ¿se puede modificar una variable const mediante un puntero?

Escribí algo similar a esto en mi código const int x=1; int *ptr; ptr = &x; *ptr = 2; Funciona esto en todos los comstackdores? ¿Por qué el comstackdor de GCC no nota que estamos cambiando una variable constante?

C ++ 0x captura lambda por valor siempre const?

¿Hay alguna manera de capturar por valor y hacer que el valor capturado no const? Tengo un functor de biblioteca que me gustaría capturar y llamar a un método que no es const pero debería serlo. Lo siguiente no comstack pero haciendo que foo :: operator () lo arregle. struct foo { bool operator () […]