dictionary = dict(zip(out_head, (select11)))
VS
class Int {
int n;
public:
Int(int n) {
this->n = n;
}
};
这两者之间的区别是什么?在创建给定类的新对象时应该何时使用class Int {
int n;
public:
Int(int n) : n(n){
}
};
关键字?
答案 0 :(得分:4)
最大的区别是第二个是推荐的方法,因为它避免了双重初始化属性。 int
是一个微不足道的案例,但你可以想象你可能有一些昂贵的结构会被初始化两次:
Complicated(const HeavyObject& _h) : h(_h) {
// h only initialized once
}
Complicated(const HeavyObject& _h) {
// h already initialized with default constructor
// Copy to object, potentially initializing all over again.
this->h = _h;
}