C++关于构造函数的一些注意点

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网络请求的数据。


总结

构造函数中能用初值列进行赋值就使用初值列进行赋值,同时注意构造函数重载时,注意有默认参数的构造函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++中的构造函数是一种特殊的成员函数,用于在创建对象时初始化对象的数据成员。构造函数可以看作是一种特殊的初始化函数,用于初始化对象的状态和属性。 以下是一些注意事项: 1.构造函数的名称必须与类的名称相同,并且没有返回类型(包括void)。 2.构造函数可以有参数,这些参数用于初始化对象的数据成员。如果没有指定构造函数,则使用默认构造函数,它将数据成员初始化为默认值。 3.如果定义了多个构造函数,则这些函数可以具有不同的参数列表(重载构造函数),这样可以灵活地创建对象。 4.构造函数可以被重载,但是它们必须具有不同的参数列表(参数类型或参数数量不同)。 5.构造函数可以是公有、私有或受保护的。公有构造函数可以被任何人调用,私有和受保护构造函数只能在类内部或其派生类中使用。 6.构造函数可以使用成员初始化列表来初始化数据成员,这是一种更有效的方法,可以避免使用赋值运算符。 7.构造函数的执行顺序是先基类构造函数,然后按照声明顺序执行成员变量的构造函数,最后执行自身构造函数。 8.构造函数可以抛出异常,但是在构造函数中使用动态内存分配时需要小心,因为如果分配失败,可能会导致不一致的对象状态。 总之,构造函数是面向对象编程中非常重要的一个概念,了解和正确使用构造函数可以使我们更好地设计、实现和维护对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值