And*_*ind 2 c++ const function
像这样,
bool isEmpty() const { return root==NULL; }
Run Code Online (Sandbox Code Playgroud)
这是isEmpty函数,测试BST是否为空.
Alo*_*ave 11
它表示该函数不会修改该类的任何成员.
通常,接口/声明(通过头文件)可供类/函数的用户使用,而不是实现,因此,const用户可以清楚地知道该函数不会修改任何成员.
添加const也会使函数的用户意识到const当你有const一个const对象时应该使用这个成员函数.你不能在该类的对象上调用普通成员函数,它将导致编译器错误.
这就是函数被标记的原因,const即使它是空的.它表示函数实现者和函数用户之间的契约.