假设我有以下课程:
class A {
public:
void func() {
...
}
};
如果我实例化这个类的两个对象,那么内存中是否会复制func()的代码?或者func()只对类的所有对象出现一次?如果没有实例化对象,func()会出现在内存中吗?
答案 0 :(得分:0)
无论实例数量多少,代码都只有一次。
如果你没有创建该类的任何实例(包括没有指向该类的指针,没有指向该类的智能指针,没有引用该类的lambdas),编译器将优化代码以使该类不是完全存在。