referencia punteros puntero por paso pasar parametros llamada ejercicios apuntadores c++ reference scope

por - punteros c++



En C++, ¿es seguro ampliar el alcance a través de una referencia? (3)

El único lugar en el que está bien extender un ámbito con una referencia es con una referencia const en el namespace de namespace o en el alcance de la función (no con los miembros de la clase).

const int & cir = 1+1; // OK to use cir = 2 after this line

Este truco se utiliza en el protector de alcance muy fresco de Andrei Alexandrescu para capturar una referencia const a una clase base del protector de alcance concreto.

En C ++, ¿es seguro ampliar el alcance a través de una referencia?

En código, lo que quiero decir es:

MyCLass& function badIdea() { MyClass obj1; ... return obj1; }


Por favor, aclara lo que quieres decir.

Asumiendo que tiene la intención de hacer esto:

int * p = NULL; { int y = 22; p = &y; } *p = 77; // BOOM!

Entonces, no, en absoluto, el alcance no se extiende al tener una referencia.

Es posible que desee buscar punteros inteligentes, por ejemplo, de las bibliotecas de impulso: clickety


NO es seguro ampliar el alcance por referencia. Los objetos en C ++ no se contabilizan como referencias cuando obj1 sale del alcance, se eliminarán, y el resultado de badIdea () solo te generará problemas