7得票4回答
C++非const指针成员上的const方法

我想知道如何在const方法中保护一个非const指针成员变量。例如: class B{ public: B(){ this->val=0; } void setVal(){ th...

12得票3回答
为什么要使用const成员函数?

我正在努力理解类的getter和setter函数... 我的问题是: 如果我设计一个只从类中获取状态的函数(一个“getter”函数),为什么要将其标记为“const成员函数”? 我的意思是,如果我的函数设计为不改变类的任何属性,为什么要使用const成员函数? 我不明白,请帮我解释一下 :...

762得票6回答
在函数声明的末尾使用"const"是什么意思?

我买了一本书,上面写着这样的内容: class Foo { public: int Bar(int random_arg) const { // code } }; 这是什么意思?

108得票5回答
为什么静态成员函数不能有const限定符?

今天我遇到了一个问题。我需要一个静态成员函数,最好是带有const修饰符的。但是,我尝试了很多次都没有成功。有人能告诉我为什么或者怎么做吗?

870得票12回答
在成员函数声明的末尾,'const' 的含义是什么?

在这些声明中,const 的意思是什么? class foobar { public: operator int () const; const char* foo() const; };

8得票1回答
const修饰成员函数如何影响重载决策?

我有以下测试代码: #include <string> #include <iostream> class CString { public: CString(char const*) {} }; class TestBed { public: ...

13得票13回答
我应该将这些成员函数声明为const吗?

我正在处理一些C++代码,其中我有几个管理器对象,其中包含一些私有方法。 void NotifyFooUpdated(); 调用此对象的监听器上的OnFooUpdated()方法。 请注意,它们不会修改此对象的状态,因此从技术上讲,它们可以被定义为const方法,尽管它们通常会修改整个...

27得票2回答
在一个非const对象上,为什么C++不会调用具有公共const和私有非const重载的成员函数的const版本?

class C { public: void foo() const {} private: void foo() {} }; int main() { C c; c.foo(); } MSVC 2013 不喜欢这个: > error C2248:...