1,Map的key值是不能重复的,char *比较的是地址,所以认为key值相同,所以你只能插入一个元素
若要用char*做key,需要重载操作符 (T1, T2),也就是map的第三个参数,当然你用std::string做key的话,可以不用重载这个操作符。
2,char转int:
char a = '1';
int b = a-'0';
cout<
4,使用string时需要命名空间std
5,联合(union)的成员对象不允许有构造函数、析构函数、虚函数
6,STL的string内部使用了内存池,不用担心其new、delete影响性能
7,静态成员函数可以当作全局函数用,其函数地址都可以传给void*
8,C++的try-catch异常捕获有两种:同步模式和异步模式。其中前者不能捕获内存访问错误,后者可以捕获内存访问错误。
/EHs是启用同步模式。(同 /GX)
/EHa是起用异步模式。
要在Release版本使用异步模式,需要加上/Eha选项,此时可以捕获到楼主的异常。
9,C语言中对于内置类型而言,pass-by-value通常比pass-by-reference高效。但在C++中,优于用户自定义(user-defined)构造函数和析构函数的存在,pass-by-reference-to-const往往更好。
10,创建一个静态的栈对象时,比如一个静态的全局栈变量,如果这个对象内部定义了一个this指针,那么不要在自身的构造函数中设置这个this指定,要在这个对象变量创建完毕以后在设置this指针,因为这两个时刻this的地址不相同
阅读(1339) | 评论(0) | 转发(0) |