cpp notes - nonelittlesong/study-cpp GitHub Wiki
#include <string>
using namespace std;
// c++
int len1 = str1.size();
// c
int len2 = strlen(str2);
共用体的长度为其最大成员的长度。
enum可以自动转int
int不能自动转enum
enum spectrum {red, orange, yellow, green, blue, violet, indigo, ultraviolet);
spectrum band;
int color = blue;
band = 3; // invalid
color = 3 + red;
强制类型转换
band = spectrum(3); // valid
band = spectrum(40003); // undefined
可以创建多个值相同的枚举量
enum {zero, null = 0, one, numero_uno = 1}
取值范围
上界m = min{m>max, m = 2^i}
下界n = min > 0? 0 : max{n<min, n = -2^i}
声明
// 下面的声明创建一个指针p1和一个int变量p2
int *p1, p2; // 或int* p1, p2;
给指针赋整值
int *pt;
pt = (int *)0xB8000000;
new/delete
- new从被称为堆(heap)的内存区域分配内存。
- 不要释放已释放的内存(undefined)。
- 只能delete空指针和由new分配的内存。
- 不能使用sizeof运算符得到new[]动态分配的数组的大小。(得到指针本身大小)
内联方法:
在类声明中定义方法,等价于,用原型替换定义,在类声明后面inline方法定义。