【发布时间】:2012-06-26 19:52:48
【问题描述】:
一个简短的,也许是愚蠢的问题。 对于类和结构,有时我喜欢使用与构造函数参数同名的成员变量。例如:
class Vector3
{
float x, y, z;
public Vector3(float x, float y, float z)
{
this.x = x;
this.y = y;
this.z = z;
}
}
基本上,我也想对结构执行此操作,但您不能在结构构造函数中使用“this”(我认为它们的用途是为类保留的)。有没有办法做到这一点,还是我应该给我的论点换个名字?
【问题讨论】:
-
this对struct和class一样有效。两者其实差别很小。但请记住this是一个指针。 -
FredLarson 说了什么,但唯一的区别是结构成员默认是公共的,类成员默认是私有的。
-
@AlexWilson:是的,这就是我所说的“非常小的”差异,而不是没有差异。 8v)
-
这个例子看起来更像java而不是c++
-
为了它的价值,最好不要这样做。我无法计算我必须修复的错误数量,因为有人忘记了
this->或认为他们正在使用被另一个变量隐藏的变量。
标签: c++ constructor struct this