C++ 多继承中的虚继承机制
1. 多继承的名字冲突问题 {#title-0} ======================== 多继承:一个类可以同时继承多个类,但是多继承很容易产生同名冲突(函数、变量)。 ``` class A { public: int m_a; int m_b; }; class B { public: int m_a; int m_b; }; class CCCC...
1. 多继承的名字冲突问题 {#title-0} ======================== 多继承:一个类可以同时继承多个类,但是多继承很容易产生同名冲突(函数、变量)。 ``` class A { public: int m_a; int m_b; }; class B { public: int m_a; int m_b; }; class CCCC...
1. 异常对象的保存 {#title-0} ===================== 异常对象保存,指的是当异常发生时,我们将其捕获,但是并不马上处理,而是将其存储起来。这样的话,我们可以在程序最后、或者其他的并行任务的进程、线程里处理。 接下来,我们需要了解如何保存异常对象、以及如何在其他的函数中去处理保存的异常对象? ``` exception_ptr save_e...
在 C++ 11之后,值的类别有三种:左值(lvalue)、纯右值(prvalue)、将亡值(xvalue)。 1. 左值 {#title-0} ================ <br /> 在C++中,左值(lvalue)是指表达式结束后仍然存在的持久性对象或函数。左值可以是变量、数组元素、结构体成员、引用等,它们在内存中有对应的地址。左值具有以下特点...
函数模板特化是 C++ 中一项非常重要的编程技巧。这篇文章,我们讲解下函数模板特化相关知识,主要讲解以下三个知识点: 1. 函数模板特化概念 2. 函数模板特化语法 3. 函数模板特化和函数重载 以下代码运行环境为:win10 专业版 + vs2019 社区版。 1. 函数模板特化概念 {#title-0} ---------------------- 在 C++ ...
我们以前在学习 C++ 构造函数的时候,经常会有以下的一些认知: 1. 当类的内部没有提供默认构造函数时,编译器会给类提供一个无实现的无参数的构造函数。 2. 当类的内部没有提供默认的析构函数时,编译器会给类的内部提供一个无实现的默认构造函数。 3. 当类的内部没有提供拷贝构造函数时,编译器会给类的内部提供一个逐字节拷贝的拷贝构造函数。 这些理解准确吗? 我认为这么理解并...
C++11 中增加 default 关键字,本篇文章讲解下空实现的默认构造函数和 default 的默认构造函数的区别。 接下来,从以下几个方面来讲解 default 关键字: 1. default 关键字使用示例 2. default 和默认构造函数 以下代码运行环境为:win10 专业版 + vs2019 社区版。 1. default 关键字使用示例 {#ti...
*** ** * ** *** 配套视频课程已更新完毕,大家可通过以下两种方式观看视频讲解: 关注公众号:[爱编程的大丙](https://51tbox.com/ "爱编程的大丙"),或者进入[大丙课堂](https://edu.subingwen.cn/detail/p_61a8e0a5e4b00db3cebeae49/6 "大丙课堂&quo...
*** ** * ** *** 配套视频课程已更新完毕,大家可通过以下两种方式观看视频讲解: 关注公众号:[爱编程的大丙](https://51tbox.com/ "爱编程的大丙"),或者进入[大丙课堂](https://edu.subingwen.cn/detail/p_61a8e0a5e4b00db3cebeae49/6 "大丙课堂&quo...
*** ** * ** *** 配套视频课程已更新完毕,大家可通过以下两种方式观看视频讲解: 关注公众号:[爱编程的大丙](https://51tbox.com/ "爱编程的大丙"),或者进入[大丙课堂](https://edu.subingwen.cn/detail/p_61a8e0a5e4b00db3cebeae49/6 "大丙课堂&quo...
*** ** * ** *** 配套视频课程已更新完毕,大家可通过以下两种方式观看视频讲解: 关注公众号:[爱编程的大丙](https://51tbox.com/ "爱编程的大丙"),或者进入[大丙课堂](https://edu.subingwen.cn/detail/p_61a8e0a5e4b00db3cebeae49/6 "大丙课堂&quo...