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

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

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

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

521得票4回答
错误:将const xxx作为成员函数的'this'参数传递会丢弃限定符。

#include <iostream> #include <set> using namespace std; class StudentT { public: int id; string name; public: StudentT(i...

311得票21回答
如何消除相似的const和非const成员函数之间的代码重复?

假设我有以下的`class X`,我想返回对一个内部成员的访问权限: class Z { // details }; class X { std::vector<Z> vecZ; public: Z& Z(size_t index) {...

159得票8回答
如何优雅地解决获取器(getter)的重复问题,包括常量和非常量版本?

不是很讨厌当你有的时候吗 class Foobar { public: Something& getSomething(int index) { // big, non-trivial chunk of code... return somet...

123得票11回答
为什么当非const成员函数是私有的时候,公共const成员函数不被调用?

考虑一下这段代码: struct A { void foo() const { std::cout << "const" << std::endl; } private: void foo() ...

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

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

86得票3回答
成员函数末尾的const是什么意思?

当在C++中的成员函数(在参数列表之后)的末尾写上const关键字时,它到底意味着什么?

38得票2回答
为什么remove_reference函数不能用于函数?

前几天在进行一些模板元编程时遇到了一些奇怪的问题。基本上就是这个断言没有通过(与我预期的不同)。 static_assert(std::is_same_v<void(), std::remove_reference_t<void()&>>); 起初我以为我...

35得票5回答
一个const成员函数可以改变哪些内容?

C++的方法允许使用const限定符来表示对象在成员函数中不会被改变。但是这意味着什么呢?例如,如果实例变量是指针,这是否意味着指针本身不会被改变,还是指向的内存也不会被改变? 具体来说,这里是一个最简单的示例类。 class myclass { int * data; mycl...