摘要:
Typedef用途: 1.定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如: 2.用在旧的C的代码中,替换结构名,简化代码书写。 3.用typedef来定义与平台无关的类型。 4.为复杂的声明定义一个新的简单的别名。 理解复杂声明可用的“右左法则”:从变量名看起,先往 阅读全文
摘要:
1.register声明的变量为寄存器变量,因此没有地址,不能对它取地址操作。 2.【用错sizeof】当数组作为函数参数传递时,数组会退化为同类型的指针。 3.每个成员在成员初始化列表中只能出现一次,初始化的顺序不是由名字在初始化列表中的顺序决定,而是由成员在类中被声明的顺序决定。 输出结果如下: 阅读全文
摘要:
C++11中引入的auto主要有两种用途:自动类型推断和返回值占位。auto在C++98中的标识临时变量的语义,由于使用极少且多余,在C++11中已被删除。前后两个标准的auto,完全是两个概念。 1. 自动类型推断 auto自动类型推断,用于从初始化表达式中推断出变量的数据类型。通过auto的自动 阅读全文
摘要:
Inline函数使用注意事项 1.在一个文件中定义的inline函数不能再另一个文件中使用 2.inline函数应简洁,只有少数几个语句。 3.在inline函数中不能有循环,if,switch语句。 4.inline函数要在调用和声明前定义!!! 阅读全文
摘要:
结构体字节对齐准则: 1. 结构体变量的首地址能够被其最宽基本类型成员的大小所整除; 2. 结构体每个成员相对于结构体首地址的偏移量都是当前成员大小的整数倍,如有需要编译器会在成员之间加上填充字节; 3. 结构体的总大小为结构体最宽基本类型成员大小的整数倍,如有需要编译器会在最末一个成员之后加上填充 阅读全文
摘要:
数组与指针的区别 1.数组与指针的定义 指针是变量,存储的是一个地址,用来间接访问数据,在32位系统下占用4个字节。指针可以指向任何内存空间,但不是任何内存空间都可以通过指针去访问(不能访问寄存器)。 数组是标识符且不占用存储空间,类似于常量,因此数组名不能作为左值。 2.extern数组与指针 先 阅读全文
摘要:
C++中const与指针 1.常指针: 2.指向常量的指针 3.指向常量的常指针 阅读全文
摘要:
C++引用详解 引用:就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 引用的声明方法:类型标识符 &引用名=目标变量名; 如下:定义引用ra,它是变量a的引用,即别名。 int a; int &ra=a; (1)&在此不是求地址运算符,而是起标识作用。 (2)类型标识符是指目 阅读全文
摘要:
cin.getline()和cin.get()都是对输入的面向行的读取,即一次读取整行而不是单个数字或字符,但是二者有一定的区别。 cin.get()每次读取一整行并把由Enter键生成的换行符留在输入队列中,然而cin.getline()每次读取一整行并把由Enter键生成的换行符抛弃,比如: 输 阅读全文