C++构造函数
前言
C++的构造函数方面也有一些我们应该注意的好的习惯和注意事项。
一、构造函数一个提升效率的好的习惯
示例:下方展示一个优秀的构造函数案例
class A
{
public:
A(int a = 0, int b = 0) : m_a (a), m_b(b) {}
private:
int m_a;
int m_b;
};
上方可以看到构造函数用到了初值列进行赋值,这样做的效率比在函数体内赋值效率更高。同时,函数内联的效率更高,但是是否真的内联取决于编译器。
二、构造函数的一个注意事项
代码如下(示例):
class A
{
public:
A(int a = 0, int b = 0) : m_a (a), m_b(b) {} //构造函数1
A(){} //构造函数2
private:
int m_a;
int m_b;
};
上方构造函数1和构造函数2不符合函数重载。当进行无参构造时编译器会不知道选择哪个进行构造。
2.读入数据
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
总结
构造函数中能用初值列进行赋值就使用初值列进行赋值,同时注意构造函数重载时,注意有默认参数的构造函数。