我正在实现一个简单的Vector类,该类为一个恒定大小的双数组形成一个容器(如C++之旅第51页中的示例)。我的问题是int size() const方法。用这种方式来定义它,而不是用const int size()来定义它,感觉很奇怪。两者似乎都起作用了。如果有什么区别,有人知道吗?
下面是类声明和Vector::size()的定义。
class Vector{
public:
Vector(int);
Vector(std::initializer_list<double>);
~Vector(){delete[] elem;}
double& operator[](int);
int size() const;
private:
int sz;
double* elem;
};
int Vector::size() const{
return sz;
}发布于 2020-04-06 17:30:13
请注意:
const int foo();的意思是: foo返回const整数值int foo() const的意思是: foo返回整数值,不修改任何内容。这在某种程度上符合右阅读--请注意@2是const函数。而linter在@1中会告诉您返回值的const将被忽略。
https://stackoverflow.com/questions/61065368
复制相似问题