原则:尽量延后变量定义出现的时间,最好直到可以初始化变量值时才定义,以避免不必要的构造函数,可提高程序的效率和清晰度;
对于循环中使用的情况,如下两种情况
A 方法:
Weight w;
for (int i=0; i<count; i++) {
...
w=i;
..
}
B 方法:
for(int i=0; i<count; i++) {
...
Weight w(i);
...
}
除非知道赋值构造函数开销肯定低于“构造+析构”,否则尽量选用B方案,而且B方案作用域更小,更易读懂代码。
原则:尽量延后变量定义出现的时间,最好直到可以初始化变量值时才定义,以避免不必要的构造函数,可提高程序的效率和清晰度;
对于循环中使用的情况,如下两种情况
A 方法:
Weight w;
for (int i=0; i<count; i++) {
...
w=i;
..
}
B 方法:
for(int i=0; i<count; i++) {
...
Weight w(i);
...
}
除非知道赋值构造函数开销肯定低于“构造+析构”,否则尽量选用B方案,而且B方案作用域更小,更易读懂代码。