gpt4 book ai didi

c++ - C++ 中的可选分号

转载 作者:可可西里 更新时间:2023-11-01 18:09:20 25 4
gpt4 key购买 nike

以下代码编译良好(每行后没有分号)。为什么公共(public)部分下的每行末尾不需要分号?

注意:在每行后面放一个分号也可以,所以在这里使用分号似乎是可选的。

template<typename T>

class Accessor {

public:

explicit Accessor(const T& data) : value(data) {}

Accessor& operator=(const T& data) { value = data; return *this; }
Accessor& operator=(const Accessor& other) { this->value = other.value; return *this; }
operator T() const { return value; }
operator T&() { return value; }

private:

Accessor(const Accessor&);
T value;
};

最佳答案

方法定义后不需要分号。

类定义后需要分号的原因是您可以在定义后立即声明类的实例:

class X
{

} x;

//x is an object of type X

对于方法,这个论点显然不成立,所以分号是多余的(虽然合法)。

关于c++ - C++ 中的可选分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11376025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com