C++ Primer 笔记

P19:包含头文件的语法
包含来自标准库的头文件时,使用< >,而对于非标准库头文件,使用“ ”。如:

#include 
#include  "myheader.h"

P19:文件重定向

$ Myapp  outfile

上述命令从infile文件中读取输入(cin),将输出结果写到outfile文件中(cout)。


P32:char类型
尽量不要使用char类型,因为在不同的机器上,char有可能为有符号型,也有可能为无符号型。应当明确使用signed charunsigned char


P34:有符号类型与无符号类型
表达式中既有有符号类型,又有无符号类型时,有符号类型会自动转化为无符号类型,导致错误,如:

int i=-1;
unsigned u=10;
cout<

P35:
0开头表示八进制,0x开头表示十六进制,0b开头表示二进制。如:

int a=034;//八进制
int b=0xAF;//十六进制
int c=0b0111011;//二进制

P41:变量的声明与定义
声明使得名字为程序所知;如果想声明一个变量而非定义它,添加关键字extern

extern int i;//声明i而非定义i
extern int j=10;//即使添加了extern关键字,因为进行了初始化,所以其实也是定义了j
int k=0;//声明且定义且初始化了变量k
int l;//声明且定义了变量l,单位初始化它

P44:变量的作用域

int reused=42;//reused拥有全局的作用域
using namespace std
int main(){
    cout<

P50:void* 指针
void* 指针是一种特殊的指针类型,可用于存放任意对象的地址。一个void*指针存放着一个地址,但是我们对改地址中到底是个什么类型的对象并不了解。


P52:指向指针的引用

int *p;//p是一个int类型的指针
int *&r=p;//r是一个对指针p的引用

要理解r的类型是什么,最简单的办法是从右向左阅读r的定义。

  1. 离变量名最近的符号(此例中是*&中的&)对变量的类型有最直接的影响,因此r是一个引用。
  2. 声明符的其余部分用于确定r引用的类型是什么,此例中的*符号说明r引用的是一个指针。
  3. 最后,声明的基本数据类型部分指出r引用的是一个int类型的指针。

你可能感兴趣的:(C++ Primer 笔记)