您的位置:首页 > 编程语言 > C语言/C++

第二章变量和基本类型

2016-03-02 23:16 344 查看
2.1

执行浮点数用double 而不用float.两者开销差不多。

当算术表达式既有无符号数又有int型,将Int改为unsigned  

unsigned u=10;

int i=-42;

cout<<i+u;  //负值转化为正值,而不为-32

字符串字面值比实际长度多1.

定义在一个函数体(包括main)内部的内置类型将不被初始化(string 不是内置类型)

函数之外被初始化为0

2.3

引用必须绑定对象(除了虚函数,const的引用),不能定义引用的引用或 int &a=10(10不是对象)

const引用或指向常量的指针初始化允许用非常量表达式,但普通引用或普通指针不能指向常量

(const)

int i=1;

const int &r1=i  //正确

const int *p=&i;//正确

const int &r1=1;//正确

i=2//i可以变但r1不可以变,但可以通过i改变r1

cout<<r1<<i  //输出22

double a=1.1;

const int &i=a;//正确

等效于

const int temp=a;

const int &i=temp;

 

初始化所有指针,如果不清楚具体值则初始化为nullptr

2.4

底层const:如指向常量的指针

顶层const:如指针常量

auto会忽略掉顶层const ,保留底层const(不包括引用auto &)

decltype 中如果表达式的内容是解引用*操作,则delctype将得到引用类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++primer