C++的进阶语法
最近复习一下语法,结合了以下三本工具书,记录一下有收获的点:
- 《C++ Primer》
- 《Effective C++》
- 《More Effective C++》
封装
重载
个人认为,重载是C++区别于C的三大特性(封装,继承,多态)中属于封装的重要特性之一,注意,重载(Overloading)是一种封装(Encapsulation)的概念而非多态,它允许在同一个作用域内使用相同的名称,但是参数列表不同的函数或方法。
重载 是一种封装的概念,它提供了一种通过相同的名称执行不同操作的机制,提高了函数或方法的可用性和易用性。
多态 是面向对象编程的一个特性,它允许不同的对象对相同的消息做出不同的响应,提高了代码的灵活性和可扩展性。
下面介绍一些重载的高阶用法:
转换构造函数
内容略
模板(Template)
模板实参推断过程中的类型转换
这也是指针和引用的重大区别之一!!!就是在函数模板实参推断过程中是否允许类型转换!!!