Wie kann die konstante Elementfunktion die Daten eines Objekts ändern?
Noch eine Frage zuconst
Verwendung von Schlüsselwörtern in C ++ (Ich bin ein Anfänger in C ++, habe versucht, eine Antwort auf SO zu finden - zu viele Antworten, konnte aber keine finden).
Frage 1: in der folgenden Mitgliedsfunktion
template <class T>
bool BinTree<T>::insert( Node<T>* & node, const T& val ) const
{
node = new Node<T>(val);
}
Ich kann Klassendaten ändern, die als Referenz übergeben werden. Was ist mit einer Mitgliedsfunktion?const
? Stimmt das?const
Verhindert, dass Daten nur explizit geändert werden, ermöglicht es jedoch, sie über einen Verweis zu ändern?
2. Könnten Sie mein Verständnis bestätigen:
func( const Node<T>* const & node ) {...}
in dieser Funktionssignatur die 2.const
bedeutet const Zeiger und die 1.const
bedeutet const Node (der Node ist also ein Verweis auf const Zeiger auf const Node)?