C++ Primer学习笔记(二) 变量与基本类型

原创 2013年12月06日 10:07:27

1、当我们吧一个超出其取值范围的值赋给一个特定类型的值会怎样?

编译器会将该值对类型的可能取值数目求模,然后取所得值。比如8位的unsigned char,其取值范围为从0到255。如果赋给超出这个范围的值,那么编译器将会取该值对256求模后的值。例如试图将366存储其中,将实际赋值为80。

C++中,把负值赋给unsigned对象是完全合法的,其结果是该负数对该类型的取值个数求模后的值。如将-1赋给8位的unsigned char,那么结果是255。 也就是说,赋值是取该值对该类型取值树木求模后的值。

2、什么是对象?

对象是内存中具有类型的区域。我们可以自由地使用对象描述程序中可操作的大部分数据,而不管这些数据是内置类型还是类类型,是有名字的还是没有名字的,是可读的还是可写的。

3、区分赋值和初始化

初始化分为复制初始化和直接初始化。复制初始化语法使用等号=,直接初始化则是把初始化式放在括号里。

int val(1024);    //direct-initialization

int val=1024;    //copy-initialization

直接初始化语法更灵活且效率更高。

4、extern声明不是定义,也不分配存储空间。它只是说明变量定义在程序的其他地方。

程序中变量可以声明多次,但是只能定义一次。

extern int i;     //declares but dose not define i

int i;               //declares and defines i

5、const限定符把一个对象转换成一个常量。因为常量在定以后就不能被修改,所以定义时必须初始化。

const int i,i=0;

   非const变量默认为extern。要使const变量能够在其他的文件中翻个温暖,必须显式的指定它为extern。

6、引用是(reference)一种复合类型,通过在变量名前添加&符号来定义。复合类型是指用其他类型定义的类型。在引用的情况下,每一种引用类型都“关联到”某一其他类型。不能定义引用类型的引用,但可以定义任何其他类型的引用。

引用必须用与该引用同类型的对象初始化:int val=1024;  int &refVal=val;

当引用初始化后,只要该引用存在,它就保持绑定到初始化时指向的对象。不可能将引用绑定到另一个对象。

引用是对象的别名(另一个名字)。

7、const引用是指向const的引用。

    非const引用只能绑定到与该引用同类型的队形。

   const引用则可以绑定到不同但相关的类型的对象或绑定到右值。

8、typedef的用途:

  1.  为了隐藏特定类型的实现,强调适用类型的目的。
  2. 简化复杂的类型定义,使其更易于理解。
  3. 允许一种类型用于多个目的,同时使得每次使用该类型的目的明确。

9、用class和struct关键字定义类的唯一差别在于默认访问级别:默认情况下,struct的成员为public,而class的成员为private。

10、头文件用于声明,而不是用于定义。但是有三个例外。头文件可以定义类、值在编译时就已经知道的const对象和inline对象。这是因为编译器需要知道它们的定义来产生代码。这些实体也可在多个源文件中定义,只要每个源文件中的定义是相同的。  const对象用常量表达式初始化时,应该把它们放在头文件中。


C++ Primer(第五版) 学习笔记

C++语言基础: 1. C++11增加了long long 类型,表示最小尺寸为64的整数。 2. 浮点数运算使用double,通常运算速度更快。 3. 超过int容量时使用long long类型,无...
  • zxh2075
  • zxh2075
  • 2016年10月25日 15:56
  • 406

C++primer第五版第十一章学习笔记

练习11.1:描述map和vector的不同。 vector这种顺序容器,元素在其中按顺序存储,每个元素都有唯一对应的位置编号,所有操作都是按编号进行的。例如,获取元素,插入删除元素,遍历元素。底层的...
  • sunhero2010
  • sunhero2010
  • 2015年11月14日 09:32
  • 1267

C++ Primer学习总结 第7章 类

第7章 类 1.    引入const成员函数(C++ Primer P231-232) C++类的常量对象是无法调用非const成员函数的,如果想让常量对象调用某个成员函数,必须声明...
  • u013480600
  • u013480600
  • 2015年03月07日 01:02
  • 1572

【读书笔记:C++ primer plus 第六版 中文版】第2章:开始学习C++

转载请注明出处: 本章内容包括: 创建C++程序. C++程序的一般格式. #include编译指令. main()函数. 使用cout对象进行输出 在C++程序中加入注释. 何时以及如何使用endl...
  • enyusmile
  • enyusmile
  • 2015年06月21日 10:33
  • 790

如何学习C++ primer 第五版

作者:dawnmist 链接:http://www.zhihu.com/question/32087709/answer/54936403 来源:知乎 著作权归作者所有,转载请联系作者获得授权。...
  • w3071206219
  • w3071206219
  • 2016年08月22日 22:03
  • 844

如何利用《C++ Primer》学习C++?

《C++ Primer》作为久负盛名的C++经典教程,丰富的教学辅助内容、精心组织的编程示范,无论是初学者入门,或是中、高级程序员提升,都是不容置疑的首选。一本好书只有读过才有价值,然而《C++ Pr...
  • shiyanlou_chenshi
  • shiyanlou_chenshi
  • 2015年08月14日 16:00
  • 1221

C++ Primer(二)变量和基本类型

2.1基本内置类型 2.1.1整型 wchar_t类型用于扩展字符集,比如汉字日语,这些字符集中的一些字符不能用单个char表示 一般地,short类型为半个机器字(word)长,int类型为一...
  • ws891033655
  • ws891033655
  • 2014年06月10日 22:36
  • 419

c++ primer之变量与基本类型

如果表达式里既有带符号类型又有无符号类型,当带符号类型取值为负时会出现异常结果。因为带符号数会自动转换成无符号数。unsigned u=10; int i=-42; std::cout...
  • u013616945
  • u013616945
  • 2017年02月20日 10:56
  • 194

C++ Primer(变量和基本类型)

1. short类型为半个机器字(word)长,int类型为一个机器字长,long类型为一个或两个机子字长(在32为机器中int类型和long类型通常   字长是相同的。 2.  只有内置类型存在...
  • cfcf0517
  • cfcf0517
  • 2014年12月11日 22:03
  • 228

【C++ Primer】变量和基本类型

二、变量和基本类型 1. c++数据类型与机器子长的关系 表示整数、字符和布尔值的算术类型合称为整型。 字符型包括:char与wchar_t,后者用于表示拓展字符集,一般用两个字节表示; ...
  • bjtu08301097
  • bjtu08301097
  • 2013年11月07日 17:45
  • 735
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ Primer学习笔记(二) 变量与基本类型
举报原因:
原因补充:

(最多只允许输入30个字)