当我用类指针创建一个类时,例如:
class A{
B* p_b1;
B* p_b2;
A(){}
}
我假设编译器为每个A实例生成至少2个指针大小的空间。我的问题是,如果它们不是指针,而是像这样的普通对象:
class A{
B b1;
B b2;
A(){}
}
编译器会在A类的内存空间中分配b1和b2的空间吗?还是它会在堆栈的其他位置声明实际的B类?
我问这个问题是因为我正在尝试减少代码中的内存分配,想知道是否会有任何区别。