C++当中的变量初始化

本文介绍了C++中三种主要的变量初始化方式:默认初始化、直接初始化和拷贝初始化。默认初始化时,不同类型的变量会获得特定的初始值,如整型为0,字符串为空串。直接初始化常用于类的实例化,通过圆括号传递值。拷贝初始化则使用等号,将一个值复制到另一个变量。理解这些初始化方法对于编写清晰、无误的C++代码至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

C++当中的变量初始化

默认初始化

当我们不给变量指定任何值的时候,C++的标准当中为不同类型的变量赋予了初值。
这也是最为常见的情况,但其实并不是非常推荐

#include <string>
int a;//a = 0
char a;//a = 0,这里并不是a = '0',代表的并不是0这个字符,而是空白
string a;//a同样是一个空串
double a;//a = 0
int *p;//p = NULL, p的默认值是一个空指针

直接初始化

这其实是一种非常通用的初始化方法,但主要是用在一些类的初始化当中,例如之后的博客会提到的初始化列表等,使用的就是直接初始化的方法。

#include <string>
int a(1);//a = 1
char a('1');//a = '1'
string a("1");//a = "1"
double a(3.14);//a = 3.14
int *p(a);//p是一个指向a的int类型的指针

拷贝初始化

最开始接触到编程的时候,我们经常使用到的变量初始化的方法,特别注意和直接初始化之间的区别,编程语言当中用到等号的时候通常都是一种将一端的值拷贝到另一端的情况,无论是地址还是所保存的真值,可以通过这个小技巧来进行记忆。

#include <string>
int a = 1;//a = 1
char a = '1';//a = '1'
string a = "1";//a = "1"
double a = 3.14;//a = 3.14
int *p = &a;//p是一个指向a的int类型的指针,特别注意这里的取地址符
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值