【发布时间】:2012-10-01 03:19:40
【问题描述】:
我的班级有一些成员,例如 x、y、width 和 height。在它的构造函数中,我不会这样做:
A::A(int x, int y, int width, int height)
{
x = x;
y = y;
width = width;
height = height;
}
这真的没有意义,当使用 g++ 编译时,x、y、width 和 height 会变成奇怪的值(例如 -1405737648)。
解决这些命名冲突的最佳方法是什么?
【问题讨论】:
-
呃,将
a附加到参数名称? -
A::A (int xa, int ya, int widtha, int heighta) -
如果要优雅,前置后缀
a,形成英文不定冠词:anX, aY, aWidth, aHaight等。显然不能使用同一个标识符在同一范围内引用两个不同的变量。看我的回答。 -
嗯?我只是选择了“a”,因为它是我们字母表的第一个字母,我附加了它而不是前置它,因为它看起来更清晰。
-
我更喜欢给成员变量名称加上一个尾随下划线。即
int x_;
标签: c++ class arguments naming-conventions