#CPP
析构函数
我们自定义的析构函数是回收自己类中的成员变量,通过 delete 去回收 拥有堆内存的成员变量。但是它不具备 delete 自身的能力,因此我们讲 使用者创建该对象之后(堆上的对象),记得 delete 掉。后面学习智能指针就更方便,它会自动将管理的对象,在对象销毁之后,自动 delete 掉该对象。注意析构函数不是智能指针调用的,而是对象本身销毁之后自己会调用,但是对象本身的堆内存 delete 会由智能指针完成。
构造函数
类的数据成员中有指针时,意味着创建该类的对象时要进行指针成员的初始化,需要申请堆空间。在初始化列表中申请空间,在函数体中复制内容。
C++中的友元类
早之前很少用友元类,直到最近跟某个博主写 Asio 网络库,跟着用到友元类,但是今天却遇到一个问题,通过查询得到解决,特记录于此。不过,在此之前,还是把友元类的基础知识做个记录
CPP 中 cctype 库的常用方法
通常用于处理字符串中字母、数字、特殊字符,还包括大小写转换
模板元编程的意义
模板元编程可以只需要设计一份代码,传入不同的类型并生成实际的代码,完美解决面向过程和面向对象的不足
虚析构函数的场景
如果这个类不作为任何类的基类,析构函数是否为虚函数并不重要,因为它不必承担回收派生类资源的责任。那什么情况下给析构函数声明为虚函数是必要的?阅读此文,给你解惑