视频字幕
欢迎学习C++变量初始化!变量初始化是在声明变量时为其赋予初始值的过程。这是编程中的重要实践,可以避免使用未定义值,防止程序出现不可预测的行为。未初始化的局部变量可能包含垃圾值,而全局变量会被自动零初始化。
现在我们来学习两种基本的初始化方式。拷贝初始化使用等号进行初始化,这是最常见的方式,语法简单直观。直接初始化使用圆括号,对于内置类型效果相同,但对于类类型可以直接调用构造函数。两种方式都能有效避免使用未初始化的变量。
列表初始化是C++11引入的现代初始化方式,使用花括号进行初始化。它的最大优势是防止窄化转换,避免数据丢失。例如,将浮点数赋给整数变量时会产生编译错误。列表初始化提供了统一的语法,适用于内置类型、数组、容器等所有类型,是推荐使用的安全初始化方式。
变量的存储期决定了其默认初始化行为。全局变量和静态变量会被自动零初始化,数值类型为零,指针为空指针,这是安全的。但是局部的内置类型变量如果不显式初始化,其值是未定义的,可能包含任意垃圾值,使用这样的变量会导致未定义行为。因此,养成显式初始化所有局部变量的习惯非常重要。