假设一个类具有一个具有固定类型的对象的组件。有两种方法可以使组件成为类的属性。一种是使用指针指向该类型的ab对象,另一种是直接使用该对象。使用指针时,我不需要包含组件类型声明的头文件,而只使用前向声明。而且它的扩展性更强。我的问题是:访问和使用它时它的性能如何?现代编译器能否对其进行优化,使其具有与直接使用相同或相似的性能?你决定它的策略是什么?
一个愚蠢的例子
// Use pointer.
class A1 { ... };
class A2 { A1* a1; ... };
class A3 { A2* a2; ... };
class A4 { A3* a3; ... };
class A5 { A4* a4; ... };
// Direct use.
class B1 { ... };
class B2 { B1 b1; ... };
class B3 { B2 b2; ... };
class B4 { B3 b3; ... };
class B5 { B4 b4; ... };
可能会更上一层楼。性能差别大吗?非常感谢!