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)?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage