
C++
文章平均质量分 53
艺途心语
这个作者很懒,什么都没留下…
展开
-
C、C++中++i与i++的区别
C++中使用++i与i++两者的效率有何区别?i++ 表示先引用,后自增。 ++i 返回的是对象的引用(reference of object),而 i++ 返回的是对象的原值(origin of object,但非左值)。++i 先自增,后返回原对象的对象,没有产生任何临时对象;而 i++,先保存原对象,然后自增,最后返回该原对象的临时对象,需要创建和销毁对象。对于C++内置类型,两者的效率差别不大;对于自定义的类而言,++i 的效率更高一些。C语言中没有面向对象,两者的使用效率是一样的,只不原创 2021-02-26 15:41:58 · 784 阅读 · 0 评论 -
C++11中override关键字使用
什么是override?override 是C++11引进的一个说明符,翻译为 覆盖 的意思。C++11 中的 override 关键字,可以显式的在派生类中声明,哪些成员函数需要被重写,如果没被重写,则编译器会报错。override有什么用?在我们C++编程过程中,最熟悉的就是对接口方法的实现,在接口中一般只是对方法进行了声明(declaration),而我们在实现时,就需要实现接口声明的所有方法。在程序中加override 关键字,可以避免派生类中忘记重写虚函数的错误。另一个典型..原创 2021-01-11 11:40:49 · 2418 阅读 · 0 评论 -
C++11中enable_shared_from_this的用法解析
什么是 enable_shared_from_this?下面摘自 cpp reference 中概述C++11开始时支持 enable_shared_from_this,它一个模板类,定义在头文件 <memory>,其原型为: template< class T > class enable_shared_from_this;std::enable_shared_from_this 能让其一个对象(假设其名为 t ,且已被一个 std::shared_ptr 对象 pt原创 2021-01-10 23:28:49 · 36581 阅读 · 12 评论 -
C++中mutable关键字
C++中mutable关键字mutable是什么?mutable的中文译为 “可变的,易变的”,是constant(即C++中的const)的反义词。C++中为了突破 const 的限制而采用的,被 mutable 修饰的变量将永远处于可变的状态。为什么要用mutable?我们知道,如果类的成员函数不会改变对象的状态,那么这个成员函数一般会声明成const的。但是,有些时候,我们需要在const的函数里面修改一些跟类状态无关的数据成员,那么这个数据成员就应该被 mutable 来修饰原创 2021-01-10 21:09:01 · 1565 阅读 · 0 评论