我有一类具有一组整数的类
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";
}
?
类中使用字符串的原因暗示可能存在其他相同类型的组,当然,类可能会随着需求的变化而增长
编辑:在这个问题走得太远之前,这个问题的意图很简单:
在有效的C++项目12中(在构造函数中初始化优先于赋值),Scott使用链赋值代替a = c; b = c;我确定他知道何时使用什么,但是我还记得我读过的书也建议使用int。 int b;在类似的情况下。在我的程序中,我遇到了类似的情况,需要初始化一组相关的各个内置类型,并且我发现通过进行链分配确实可以更容易阅读,尤其是在类具有许多其他不同类型的实例变量的情况下。这似乎与我阅读的书和我的内存相矛盾,因此产生了问题。
最佳答案
我的个人偏好是a=b=c=d
,原因如下:
但是,请注意:
a=c=1; // Foo-function related
b=d=1; // Bar-function related
不过,我个人的建议是将分配链接到与概念/使用相关的变量。在实际实践中,更改分配的需求通常不会经常出现,因此第2条警告通常不会造成问题。
编辑:我的建议可能违反已发布的指南。查看评论。
关于c# - 可读性a = b = c或a = c; b = c ;?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5373171/