
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
继承机制是⾯向对象程序设计使代码可以复⽤的最重要的⼿段,它允许我们在保持原有类特性的基础上进⾏扩展,增加⽅法(成员函数)和属性(成员变量),这样产⽣新的类,称派⽣类。public继承中,就是⼀个特殊处理的例外,派⽣类对象可以赋值给基类的指针/基类的引⽤,而不需要加const,这⾥的指针和引⽤绑定是派⽣类对象中的基类部分,如下图所示。:基类的构造函数私有,派⽣类的构成必须调⽤基类的构造函数,但是基类
在传值返回,如果是像vector这样深拷贝的类,传值返回不可避免,所以就可以传参的时候传临时对象,接受的形参也是右值引用,这样子还不能解决传值返回的问题,所以编译器进行了优化,就可以一步到位,直接构造,记得用场景一的写法,编译器才能一步到位的优化成直接构造,第二种场景太复杂了,先是用了默认构造初始化,然后又构造出一个临时对象,再进行移动构造,所以编译器不能直接构造。上面是左值引用跟右值引用的介绍,
C++ 容器适配器深度解析:stack / queue / priority_queue 底层原理、deque 与 vector/list 性能对比及仿函数实现
C++模板进阶
通过下图我们可以看到,满足多态条件后,底层不再是编译时通过调用对象确定函数的地址,而是运行时到指向的对象的虚表中确定对应的虚函数的地址,这样就实现了指针或引用指向基类就调用基类的虚函数,指向派生类就调用派生类对应的虚函数。我来解析一下,就是先是创建了一个B类的对象,然后这个对象调用了test()函数,发现自己类没有,就去父类找,然后找到了,在父类中,test()括号里面其实还有隐藏的。派⽣类的虚函
大概就是写一个if条件,如果满足就throw抛出这个异常,但是你的外层要有try,然后就是try会跟catch搭配,在try里面throw出来的东西会被catch捕捉到,写catch也是有讲究的,接受throw传来的形参类型要匹配,如果不知道要捕捉的类型是什么,有一种办法就是可以写。异常抛出后,程序暂停当前函数的执行,开始执行与之匹配的catch语句,首先检查throw是否在try内部,如果在,则







