【重学《C++Primer第四版》】第二章、变量和基本类型

Details of knowledge

1..字,字节的区别

字节:byte,8bit。

字:word,16bit,是一个汉字的占用空间。

双字:dWord,32bit

四个连续的字节:这是考虑到32位处理器的对其问题,当然是因为效率问题。

2.unsigned后面如果不加其他类型说明符就意味着是unsigned int。

3.为了兼容C语言,C++所有字符串都要由编译器自动在末尾添加一个空字符。

4.字符串字面值的自动连接:两个相邻的仅由空格、制表符或换行符分开的字符串字面值(或宽字符串字面值)可连接成一个新字符串字面值。 字符串字面值和宽字符串字面值不能相连

下面看一个代码:

#include<iostream>
using namespace std;
int main()
{
	cout<<"aa "  " bb"
				"ccc"
			"dddd"<<endl;
	return 0;
}

这个代码的输出是:aa  bbcccdddd

5.每一行的最后由\隔开的多行字符串,具体如下图:

6.对象是内存中具有类型的区域。

7.初始化和赋值的区别

初始化:创建对象并给它赋初始值。

赋值:擦除对象的当前值并且用新值替代。

8.声明和定义的区别

声明(declare):向程序表明变量的类型和名字。在一个程序中,变量可以有多个声明。用extern进行多次声明。

定义(define):为变量分配内存空间,还可以为变量指定初始值。在一个程序中,变量有且只有一个定义。

9.枚举:将整体常量集聚集成组。

10.应该为每个头文件写保护符。

#ifndef SALESITEM_H
#define SALESITEM_H
/*
*这里写入头文件的内容,比如类
*/
#endif

11.关于别名

引用(&):int ival=1024;

Int &refVal=ival; refVal是ival的别名

typedef:用来定义数据类型的别名。typedef double wages

Questionable Examples

1.单独的一个下划线就是一个变量。

char _;这个语句是对的。

2.C++是大小写敏感的语言。

float Float=3.14f;这个语句是正确的。


Concrete Explanation

1.C++中获得一个数的数据类型:typeid()

比如想知道10.0的数据类型,可以用cout<<typeid(10.0).name()<<endl;一般的编译器并不会输出数据类型的完整英文,一般为缩写,在DEVC++中输出的是d,这个d表示的就是double。

当然也可以用下面的这个代码:

<span style="color:#ff0000;">double a;
if( typeid(a) == typeid(10.0) )
{
	out<<"double"<<endl;
}</span>

输出的结果就是double,说明10.0就是double类型的。

可以测得,-10.就是一个double类型的。(是-10.和-10.0是相等的哦)

2.转移字符和数字的结合使用

cout<<"Who goes with F\145rgus?\012"<<endl;

输出结果是:Who goes with Fergus? (最后还有一个换行)

可以看到\145是字母e,\012是换行。

Summary

C++是一种静态类型语言,变量和函数在使用前必须先声明。变量可以声明多次但只能定义一次。定义变量时最好初始化。


©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值