`int size()const`或`const int size()`[duplicate]

问题描述 投票:1回答:1

[我正在研究一个简单的Vector类的实现,该类形成了一个恒定大小的双精度数组的容器(遵循A Tour of 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;
}

注意:我发现了类似的帖子(12),但它们没有回答我的问题。

c++ vector const
1个回答
3
投票

[请注意:1. const int foo();表示:foo返回const整数值2. int foo() const表示:foo返回整数值,并且不做任何修改。

这在某种程度上符合从右读的方法-请注意@ 2是const函数。 @ 1中的linter会告诉您,返回值const将被忽略。

© www.soinside.com 2019 - 2024. All rights reserved.