文档章节

再探C++Primer (2) 基本内置类型、变量

大鲸鱼锅锅
 大鲸鱼锅锅
发布于 2016/07/02 23:49
字数 765
阅读 21
收藏 0

###C++基本内置类型#

C++基本内置类型有算数类型和空类型,其中算数类型包括了整数型和浮点型,字符、整数型、布尔值属于整数型,浮点数属于浮点型。空类型不对应具体的值而只对应于一块内存。

算数类型:

类型			含义		  最小尺寸
bool		布尔类型		未定义
char		字符			  8位
wchar_t		宽字符			16位
char16_t	Unicode字符	 16位
char32_t	Unicode字符	 32位
short		短整形		    16位
int			整型			 16位
long		长整形		    32位
long long	长整形		    64位
float		单精度浮点数	  6位有效数字
double		双精度浮点数	  10位有效数字
long double	扩展精度浮点数	 10位有效数字

其中最小尺寸是指C++标准规定的尺寸的最小值,同时允许编译器赋予它更大的尺寸。

除去布尔型和扩展型,其它的整型可以分为带符号和无符号的,其中无符号的在类型名前加unsigned, 字符型分为char、signed char、unsigned char三种,char会表现为signed char或者是unsigned char中的一种,由编译器决定。

###字面值常量#

以0开头的表示8进制数,以0x开头的为十六进制数,例如024,0xb2.

可以指定字面值类型,如L'a'表示宽字符型字面值,u8"hhh"表示utf-8字符串字面值。

指定字面值的类型:

字符和字符串字面值:
前缀			含义				类型
u			unicode16字符		char16_t
U			unicode32字符		char32_t
L			宽字符				wchar_t
u8			UTF-8				char
整型字面值:
后缀			最小匹配类型
u or U		unsigned
l or L		long
ll or LL	long long
浮点型字面值:
后缀			最小匹配类型
f或F			float
l或L			long double

###变量#

变量初始化,可以用=、()、{}、={}进行初始化,其中花括号的初始化被称为列表初始化。

默认初始化,变量没有指定初值,则执行默认初始化。内置类型的初始化值由它的位置决定,定义于全局的内置类型将赋0,定义于函数体内部的变量将不被初始化,其值是未定义的。建议初始化每个内置类型的变量。

变量声明和定义的关系

声明使得名字为程序所知,定义负责创建与名字关联的实体,也就是说定义会申请内存空间并可能为变量赋予初值。如果想声明一个变量而非定义它,就在它名字前添加extern关键字。

extern int i;	//声明而非定义
int j;			//声明并定义
extern double pi = 3.1415; 	//定义

给extern关键字标记的变量赋初值将抵消extern的作用而定义这个变量。

© 著作权归作者所有

大鲸鱼锅锅
粉丝 5
博文 14
码字总数 15885
作品 0
武汉
程序员
私信 提问
再探C++Primer (4)指针、引用、对象和内存

基本内置类型就是算数类型和空类型,算数类型包括字符、整数、布尔值、浮点数,空类型是void; 复合类型指基于其他类型定义的类型,例如指针和引用。 - 引用就是给对象起的别名,通过声明对象...

大鲸鱼锅锅
2016/07/07
13
0
C++ primer第二次阅读学习笔记(第1、2章)

C++ primer第二次阅读学习笔记(第1、2章) 一年前开始了C++primer的第一遍阅读,一年之后重新拾起C++primer。原因有二,一:第一遍阅读时刚开始接触C++,对C++认识有限,学习C++primer不可能...

长平狐
2012/10/08
107
0
C++primer学习笔记(1)

作为大四应届生o( ̄︶ ̄)o 最近为了后续的面试工作地点看C++primer再次深入学习C++写里一点笔记: 如下: 1. C++四种强制转换: 1、static_cast:可以实现C++中内置基本数据类型之间的相互转换,...

微小的鱼233
2018/03/02
0
0
i++和++i的那些陷阱坑

一般意义上的理解,++i是先定义一个i的副本,将i执行+1,最后返回那个副本; i++是将i执行+1,然后返回i的引用。 前缀版本++i和后缀版本i++,他们对操作数的影响是一样的,但是影响的时间不同...

hhhanpan
2017/11/15
0
0
再探C++Primer (5)const限定符

我们通过const修饰变量来定义常量,const对象一旦创建完成就不允许修改,const对象必须初始化。 const int a = 100; //正确a = 10; //错误,const对象不允许修改const int b; //错误,const对象...

大鲸鱼锅锅
2016/07/08
16
0

没有更多内容

加载失败,请刷新页面

加载更多

华为手机翻译功能怎么使用?这三种方法请务必收藏

华为手机翻译功能怎么使用?在我们的生活中会经常遇到翻译问题,许多外语不好的朋友该怎么办呢?华为手机已经为我们解决了这个问题,今天小编就教大家学会使用华为手机中的三种翻译技巧,需要...

翻译小天才
25分钟前
4
0
企业服务软件开发中需要注意的三个问题

在开发企业服务软件时,我们需要分为:业务需求、用户需求、产品需求,三大需求层次,三个层次互相关联,企业服务软件开发首先要服务业务,需要满足业务的需求,再关注用户体验,也就是用户需...

积木创意科技
28分钟前
4
0
C++容器底层数据结构

内置数组: int arr[10][10];memset(arr,0,10*10*sizeof(int)); //初始化int tmp[10][10];memcpy(arr, tmp, 10 * 10 * sizeof(int));//拷贝 void *memcpy(void *destin, void *source,......

SibylY
28分钟前
3
0
Dubbo-自适应拓展机制

背景 在 Dubbo 中,很多拓展都是通过 SPI 机制进行加载的,比如 Protocol、Cluster、LoadBalance 等,这些都是Dubbo的基础组件。这些基础组件的拓展不是在系统框架启动阶段被加载,而是拓展方...

rock-man
56分钟前
7
0
Kali安装fcitx输入法(五笔)

安装fcitx > sudo apt-get install fcitx-rime fcitx-config-gtk3 重启 > sudo reboot fcitx配置 效果就是这样 配置输入法切换 系统设置...

yeahlife
58分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部