c++的初始化与清除

C++中的初始化和清除是提高代码安全性和易用性的关键。构造函数确保每个对象在创建时正确初始化,避免了因忘记初始化导致的错误。析构函数在对象超出作用域时自动调用,确保资源的有效清除。这两者都无需程序员手动调用,提高了编程效率和系统稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

《c++编程思想》阅读笔记(4)

第4章 初始化与清除

第2章利用了一些分散的典型c语言库的构件,并把它们封装在一个struct总,从而在库的应用方面做了有意义的改进(从现在起,这个抽象数据类型称为类)


1)这样用类名隐藏了类内部的函数名,并且通过设立处理界限,意味着数据类型的内部机制对设计者来说是可控的和能自行处理的。封装和实现的隐藏大大地改善了库的使用。而安全性包括初始化和清除两个方面。在c语言中,如果一个程序员忘记了初始化或清除一个变量,就会导致一大段程序错误。特别是当用户不知如何对一个struct初始化,甚至不知道必须要初始化时。。。清除是一个特殊的问题,因为c程序员一旦用过一个变量后就把它给忘记了,所以对一个库的struct来说,必要的清除工作往往被遗忘了。在c++中,初始化和清除的概念是简化类库使用的关键所在,并且可以减少那些由于用户忘记这些操作而引起的许多细微错误


2)在c++中,初始化是在太重要了,所以不能把它留给用户来完成。类的设计者可以通过提供一个叫做构造函数的特殊函数来保证每个对象都正确地初始化。如果一个类有构造函数,编译器在创建对象时就自动调用这一函数,这一切在用户是用他们的对象之前就已经完成了。对用户来说,是否调用构造函数并不是可选的,它是由编译器在对象定义时完成的。

3)函数名字必须考虑两点:首先这个名字不能与类的其他成员函数冲突,其次,因为该函数是由编译器调用的,所以编译器必须总能知道调用哪个函数。由此得出:构造函数的名字和类的名字一样。这使得

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值