在对象实例化时C++如何声明声明和构造函数?
我的问题是, 1编译器是否实际执行此转换? 2如果是,是否有办法看到这些转变 谢谢 1编译器是否实际执行此转换 没有 首先,这不是声明。这是定义。定义后,类实例立即使用其构造函数之一初始化 编译器不会将定义转换为声明和构造函数调用。这正是定义所包含的内容。在预处理时,该定义保留为定义。在编译时,它被编译成一系列指令,为实例分配空间并调用构造函数 2如果是,是否有办法看到这些转变 不可以。您只能在汇编代码中观察构造函数调用,这可能是您不想查看的 1编译器是否实际执行此转换 没有 首先,这不是声明。这是定义。定义后,类实例立即使用其构造函数之一初始化 编译器不会将定义转换为声明和构造函数调用。这正是定义所包含的内容。在预处理时,该定义保留为定义。在编译时,它被编译成一系列指令,为实例分配空间并调用构造函数 2如果是,是否有办法看到这些转变在对象实例化时C++如何声明声明和构造函数?,c++,C++,我的问题是, 1编译器是否实际执行此转换? 2如果是,是否有办法看到这些转变 谢谢 1编译器是否实际执行此转换 没有 首先,这不是声明。这是定义。定义后,类实例立即使用其构造函数之一初始化 编译器不会将定义转换为声明和构造函数调用。这正是定义所包含的内容。在预处理时,该定义保留为定义。在编译时,它被编译成一系列指令,为实例分配空间并调用构造函数 2如果是,是否有办法看到这些转变 不可以。您只能在汇编代码中观察构造函数调用,这可能是您不想查看的 1编译器是否实际执行此转换 没有 首先,这不是声明。
不可以。您只能在汇编代码中观察构造函数调用,这可能是您不想查看的。我有点喜欢不时查看汇编。它有时会给你一些想法,你可以在哪里收紧源代码。不像以前我们在洞穴墙壁上绘制代码时那样多,但它仍然具有教育意义。我有点喜欢不时地查看组装。它有时会给你一些想法,你可以在哪里收紧源代码。不像我们在洞穴墙壁上绘制代码时那样多,但它仍然具有教育意义。
class C {
public:
int i = 0;
C() {i++;}
};
int main()
{
C c;
// This simple statement could be interpreted something like,
// C c; --> declaration
// C::C(&c); -> constructor call
return 0;
}