我正在查看 C++ 代码,我被困在构造函数中。
class sassy{
public:
sassy()
sassy& self(void) // what does this mean? what it does?
};
请清除我的疑问。
我正在查看 C++ 代码,我被困在构造函数中。
class sassy{
public:
sassy()
sassy& self(void) // what does this mean? what it does?
};
请清除我的疑问。
这是什么意思?
它不是构造函数;它是一个成员函数。该函数被调用self
,它返回对类型对象的引用sassy
,并且它不接受任何参数 -(void)
意味着没有参数,就像这样()
做一样,有些人喜欢使用它(void)
来使他们的代码更难阅读。
它能做什么?
可能,它的实现是return *this;
,返回一个对它被调用的对象的引用。这是完全没有意义的:如果您能够调用该函数,那么您可以在不调用它的情况下获得该引用。
或者它可能返回其他东西;在这种情况下,它的名称具有误导性。
无论哪种情况,它都是一个没有理由存在的奇怪功能。
该构造声明了一个不带参数的方法,该方法返回对同一类实例的引用。它不是构造函数——它们的名称必须与类本身相同。
很难说意图是什么,这将取决于实际的实现。
例如,实现可以只是return *this
返回对对象本身的引用。
它只是一个返回对当前类实例的引用的成员函数;也许是同一个对象。它不是构造函数。不知道它是干什么用的。