在Effective C ++一书中,我看到了下面这段话: 因此,如果你写 class Empty{}; 它基本上就像你写这个一样: class Empty { public: Empty() { … } Empty(const Empty& rhs) { … } ~Empty() { … } Empty& operator=(const Empty& rhs) { … } // copy assignment operator }; 下面的代码将导致每个函数的生成: Empty e1; Empty e2(e1); e2 = e1; 但是在拆解通过编译上面的代码而创build的可执行文件之后,我意识到情况并非如此:没有任何函数被调用。 这里是主要的汇编代码: 00000000004006cd <main>: 4006cd: 55 push %rbp 4006ce: 48 […]