我有一个类,里面有一组整数,例如:
foo()
{
int a;
int b;
int c;
int d;
....
string s;
}
现在的问题是为了最佳可读性,foo()函数的init()函数应该长成这样:
void init()
{
a=b=c=d=1; //for some reason they are init to 1;
s = "abc";
}
或者void init()
{
a=1;
b=1;
c=1;
d=1;
s = "abc";
}
在类中使用字符串的原因是为了暗示可能存在相同类型的其他组,并且当需求发生变化时,类可能会增长。
编辑:在这个问题走得太远之前,这个问题的目的很简单:在Effective C++ item 12(构造函数中优先使用初始化而不是赋值)中,Scott使用链式赋值而不是a=c; b=c;。我相信他知道何时使用什么,但我也记得我读过的书籍建议使用int a; int b; 在类似赋值情况下。在我的程序中,我有一个类似的情况,需要初始化一组相关的内置类型,并且我发现通过进行链式赋值可以使代码更易于阅读,尤其是如果类具有许多其他不同类型的实例变量。它似乎与我所读和记忆中的书籍相矛盾,因此提出了这个问题。