1. C++ 整数类型范围
可以参照头文件limits.h定义的宏
#define INT_MAX 2147483647(32bit, 最大10位十进制)
#define UINT_MAX 4294967295U(32bit, 最大10位十进制)
#define LLONG_MAX 9223372036854775807LL(64bit, 最大19位十进制)
#define ULONG_MAX 18446744073709551615UL(64bit, 最大20位十进制)
2. 防止头文件被包含多次
头文件中往往这样写
#ifndef HEADERFILENAME_H
#define HEADERFILENAME_H
....your code
#endif
3.变量是这样声明的
extern int e; 我们一般不会extern int e=1; 因为这样就算是直接定义了e,没必要了;同一个作用域可以声明多次,但只能定义一次。
4.string 的一般用法
string s1,s2("string"),s3(s2),s4(5,'c'),s5(s2.being(),s2.end());
char* cp = “string”;
char c_array[] = “string”;
char sb [] = {‘s’,’b’};//无结尾字符数组
string s6(cp), s7(c_array), s8(c_array,c_array+1);
string s9(sb);//runtime error
if(s1.empty()){
string::size_type size = s1.size();
cout<<size<<endl;
}
cout<<s1<<","<<s2<<","<<s3<<","<<s4<<endl;
ifstream fin("a");
while(getline(fin,s1)){
cout<<s1<<endl;
}
fin.close();
s1 = s2;// first free s1's memory, second new a memory for s1, third copy data from s2 to s1.
s1 += s2;
s1 += "...";
//一些方法
<cctype>包含了很多字符操作方法
c_str(); 返回const char*
Insert,assign//替换,erase,substr(pos,n),find,append,replace
Rfing//最后一次出现的位置,find_first_of(args)//args中任意字符第一次出现的位置,find_last_of(args)//args中任意字符最后一次出现的位置,find_first_not_of(args)//对象中第一个不属于args的字符,find_last_not_of(args)//对象中最后一个不属于args的字符。
Compare
5. 指向常量的指针和常指针
const int * p = π//常量的指针,不能通过p改变pi的值。Pi可以是常量或者是变量。
Int * const p = π//常指针
6. 数组初始化
Char a[5] = {0}; 一个定长空串,全是