C++ Primer问题总结(1)

1.第一章

1.包含来自标准库的头文件,应该用<>,对于不属于标准库的头文件,比如自己创建的头文件则使用" .h"。
2.成员函数(menber function)是定义为类的一部分的函数,有时也被称为方法(method).
3.cerr:一个ostream对象,关联到标准错误,通常写入到与标准输出相同的设备。默认情况下,写到cerr的数据是不缓冲的。cerr通常用于输出错误信息或其他不属于程序正常逻辑的输出内容。

2.第二章

1.算数类型分为两类:整型(integral type,包括字符和布尔类型在内)和浮点型.char最小尺寸为8位,int 为16位.
2.初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来替代。
3.指针不能隐式进行类型转换,这意味着等号左右必须是同一类型,所有指针的类型都要和它所指向的对象严格匹配,但是指向基类的指针可以指向派生类对象(这算是个例外吧)
4.如果两个指针指向的地址相同,则它们相等。
5.(void )指针, void 是一种特殊的指针类型,可用于存放任意对象的地址。一个void*指针存放着一个地址。这一点与其他指针类似。不同的是,我们对该地址中到底存放一个什么类型的对象并不了解,因此不能直接操作void *指针所指向的对象,因为我们并不知道这个对象到底是什么类型。
6.int* p1,p2 //p1是指向int类型的指针,p2是int类型
在这里基本数据类型是int而不是int*
7.int i = 1024,*p = &i,&r = i;//可以定义的时候初始化不同类型的变量
8.指向指针的引用

int i = 42;
int *p;
int *&r = p;	//r是个对指针p的引用
int *q;
&q = p;	//q也是个引用
r = &i;//实际是对p赋值,p指向i的地址
*r = 0;

9.const变量必须在定义的时候初始化.
10.constexpr变量
c++11新标准规定,允许将变量声明为constexpr类型以便由编译器来验证变量的值是否是一个常量表达式,声明为constexpr的变量一定是一个常量,而且必须用常量表达式初始化
11.decltype使用的是一个不加括号的变量,则得到的结果就是该变量的类型。如果给变量加上一层或者多层括号,编译器就会把它当成是一个表达式。变量是一种可以作为赋值语句左值的特殊表达式,所以这样的decltype就会得到引用类型。

decltype((i)) d;	//一个i类型引用
decltype(i) e;	//一个与i相同的类型
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值