Как функция-член 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)?