- 博客(3)
- 收藏
- 关注
原创 C++性能陷阱
然而在实际生产环境中,可能很多的运行时多态是无法避免的,毕竟这是OOP的基础特性,因此对于虚函数我们也只能了解背后的成本而已。某些情况下我们可以使用编译期多态来替代虚函数,比如CRTP(Curiously Recurring Template Pattern)、Tempated Visitor Pattern、Policy Based Design等等。
2023-09-07 20:50:11 131
原创 C++ 11 相关
原则上讲,exp 就是一个普通的表达式,它可以是任意复杂的形式,但是我们必须要保证 exp 的结果是有类型的,不能是 void;这很容易理解,auto 是根据变量的初始值来推导出变量类型的,如果不初始化,变量的类型也就无法推导了。我们知道,auto 只能用于类的静态成员,不能用于类的非静态成员(普通成员),如果我们想推导非静态成员的类型,这个时候就必须使用 decltype 了。右边的初始值 value 推导出变量的类型,而 decltype 根据 exp 表达式推导出变量的类型,跟。
2023-08-18 17:18:24 56
原创 C++ 设计模式学习
这样可以简化代码,使代码更加清晰。静态成员变量是属于类的,而不是属于类的实例的。因此,无论创建多少个类的实例,静态成员变量都只有一个,它们的值在所有实例中都是相同的。观察者模式(Observer Pattern)是一种行为型模式,它定义了对象之间一对多的依赖关系,当一个对象的状态发生改变时,它的所有依赖者都会收到通知并自动更新。单例模式是一种常用的设计模式,它的主要作用是确保一个类只有一个实例,并且提供一个全局访问点。另外,静态成员变量还有一个优点,就是可以在类的静态方法中访问它们,而不需要通过类的实例。
2023-08-11 09:09:21 62
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人