parameter - const in c++>




¿Qué significa "const" al final de la declaración de función? (4)

Posible duplicado:
Significado de "const" último en una declaración de método C ++?

Hola tengo un libro, donde se escribe algo como:

class Foo 
{
public:
    int Bar(int random_arg) const
    {
        // code
    }
};

También, una pregunta de paso: ¿por qué debería / no debería usar const antes de las declaraciones de argumentos? ¿Qué cambia eso?

int Foo (const int Bar) { /* code */ }

EDITAR: Así que si lo hago ahora:

Foo v1, v2;

¿Existirá la función de barra (con etiqueta constante) 3 veces o 1 vez en la memoria?


Considere dos variables de tipo de clase:

class Boo { ... };

Boo b0;       // mutable object
const Boo b1; // non-mutable object

Ahora puede llamar a cualquier función miembro de Boo en b0 , pero solo a las funciones miembro const en b1 .



Siempre me resulta conceptualmente más fácil pensar que estás haciendo que este puntero sea constante (que es más o menos lo que hace).


Similar a this pregunta.

En esencia, significa que la Bar del método no modificará las variables miembro no mutable de Foo .





const