【问题标题】:In C++, what does (void) do in parameters? [duplicate]在 C++ 中, (void) 在参数中做了什么? [复制]
【发布时间】:2015-07-31 23:51:06
【问题描述】:

我有一行代码如下所示:

int method(void) const;

但我不确定 (void) 在参数中的作用,或者 const 的作用。这也应该是一个公共的“get”,我不确定如何在类中处理 (void) 和 const。

【问题讨论】:

    标签: c++ methods void


    【解决方案1】:

    它什么也没做。 It is a carry-over from C 表示(在 C++ 中)该函数不接受任何参数。下面的签名是等价的

    int method() const;
    

    函数名称后面的const 表示(因为这意味着该函数是类方法)该函数不允许更改类实例的任何成员变量。

    要实现“setter”和“getter”,你通常有这样的东西

    class Foo()
    {
    public:
        int GetX() const  { return x; }   // getter method
        void SetX(int x_) { x = x_; }     // setter method
    private:
        int x;
    }
    

    注意,我们可以声明getter const,因为它不会修改x 的值,但是setter 不能是const,因为该方法的全部目的是为x 分配一个新值.

    【讨论】:

    • 感谢您的澄清!抱歉,如果我在其他地方找不到这个答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 1970-01-01
    相关资源
    最近更新 更多