Как функция-член const может изменить данные объекта?

Еще один вопрос оconst Использование ключевых слов в C ++ (я новичок в C ++, пытался найти ответ на SO - слишком много ответов, но не смог найти один).
Вопрос 1: в следующей функции-члене

template <class T>  
bool BinTree<T>::insert( Node<T>* & node, const T& val ) const  
{
    node = new Node<T>(val);
}

Я могу изменить данные класса, которые передаются в качестве ссылки. Как насчет функции-членаconst? Это правда, что этоconst предотвращает только явное изменение данных, но позволяет изменять их по ссылке?
2. Не могли бы вы подтвердить мое понимание:

func( const Node<T>* const & node ) {...}

в этой функции подпись 2-гоconst означает константный указатель и 1-йconst означает const Node (то есть узел является ссылкой на константный указатель на const Node)?

Ответы на вопрос(1)

Ваш ответ на вопрос