c++ - 制作功能 "const"的意图是什么

标签 c++ function constants

像这样,

bool isEmpty() const { return root==NULL; }

这是isEmpty函数,测试BST是否为空

最佳答案

表示该函数不修改该类的任何成员。

通常,接口(interface)/声明(通过头文件)可供类/函数的用户使用,而不是实现,因此 const 让用户清楚地知道函数的作用不修改任何成员。

添加 const 还可以让函数的用户知道当您有一个 const 对象时应该使用这个 const 成员函数。您不能在该类的 const 对象上调用普通成员函数,这将导致编译器错误。

这就是函数被标记为 const 的原因,即使它是空的。它表示函数实现者和函数的用户之间的契约。

关于c++ - 制作功能 "const"的意图是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7907235/

相关文章:

c++ - 为什么从 lambda 返回 const 引用会导致临时引用?

php - 带有常量的PHP错误

c++ - CUDD:访问 BDD child

c++ - 在没有设置对话框的情况下启动 Ogre BaseApplication

python - 类内函数未被调用

python将不同的**kwargs传递给多个函数

c++ - 我应该帮助哪个开源 C++ 数据库 GUI 项目?

用于 VS2005 的 C++ std::tr2

javascript - javascript中的动态函数名称?

c - 字符串文字是常量吗?