我看到有人在C++类中编写这样的代码:

int foo ( int dummy )
{
   this->dummy = dummy;
}

我们应该使用这样的代码,会导致问题吗?

我试图编译这样的东西,它似乎是可行的。

@更新:
我发布的内容主要是关于dummy和内部变量this->dummy的信息,如果这是引起问题的原因,

最佳答案

对于成员函数来说,这非常好,除了您缺少return语句之外。 dummy将遮蔽成员变量,因此您可以使用this->来引用成员。

int foo ( int dummy )
{
   this->dummy = dummy; // set member to argument
   return this->dummy;
}

不要将其用于比简单的set函数更复杂的事情上,因为这很容易混淆。
int foo ( int dummy )  // Bad practise! Rename this param as the function isn't a setter
{
   this->dummy = dummy * 2 + 1;
   return this->dummy;
}

关于c++ - 以下代码会在C++中引起问题吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8398429/

10-15 04:44