¿Cómo la función miembro constante puede cambiar los datos de un objeto?
Otra pregunta sobreconst
el uso de palabras clave en C ++ (soy un principiante en C ++, intenté encontrar una respuesta en SO - demasiadas respuestas pero no pude encontrar una).
Pregunta 1: en la siguiente función miembro
template <class T>
bool BinTree<T>::insert( Node<T>* & node, const T& val ) const
{
node = new Node<T>(val);
}
Puedo cambiar los datos de una clase que se pasan como referencia. ¿Qué pasa con una función miembro siendoconst
? Es verdad que estoconst
¿Previene que los datos solo cambien explícitamente, pero permite cambiarlos a través de una referencia?
2. ¿Podrías confirmar mi entendimiento?
func( const Node<T>* const & node ) {...}
En esta función firma el 2º.const
significa puntero const y el 1-stconst
significa Nodo const (por lo que el nodo es una referencia al puntero const para el nodo const)?