C++ 局部和全局变量如何初始化成为默认值?
以下内容对于局部变量和全局变量是相同的。基本上,无论何时声明一个变量,除非另有规定,编译器都会调用其默认的构造函数。
语言级别的类型(例如指针、“int”、“float”、“bool”等)“默认构造函数”什么都不做,它只是让内存保持声明时的状态。 这意味着它们可能是任何内容,因为你通常无法确定内存中之前是什么,甚至无法确定内存来自哪里。
如果你创建一个没有构造函数的类,编译器会为你创建一个,该函数只是调用其每个成员/变量的构造函数。如果你有一个带参数的构造函数而没有不带参数的构造函数,编译器将抛出一个错误,指出找不到匹配的构造函数。
广告