try{}catch{}finally{}这是一套用法,finally可以省略。
try{
//可能出现异常的代码
}catch(Exception e){
//异常处理
}finally{
//不管是捕捉到异常都执行这里面的代码
}
2、at函数和[ ]函数使用可以说是一模一样. 都是为了访问对应index中存储的数据, 如果index大于vector的size。两者都是抛出out_of_range的exception.
string , vector等的at()成员函数相较下标运算符[ ]而言,增加了下标越界检查、异常处理等。
3、(1) string转const char*
string s = "abc";
const char* c_s = s.c_str();
(2) const char*转string
const char* c_s = "abc";
string s(c_s);
(3) string转char*
string s = "abc";
char* c;
const int len = s.length();
c = new char[len+1];
strcpy(c,s.c_str());
(4) char*转string
char* c = "abc";
string s(c);
(5) const char*转char*
const char* cpc = "abc";
char* pc = new char[100];//足够长
strcpy(pc,cpc);
(6) char*转const char*
char* pc = "abc";
const char* cpc = pc;
4、转:关于C++ const 的全面总结 http://www.cnblogs.com/xkfz007/articles/2419518.html
5、c#里面没有"->"操作符,所有都是"."
对于c++: 对象、引用,用"."; 指针用"->".
比如 CButton button1; 和 CButton& button2 = button1;以及CButton* button3 = &button1;
button1, button2 用"."
button3用"->"
6、在C/C++的for循环中,++i和i++是一样的。因为++i,和i++的区别在于 是不是当即就用i的值。在for循环中,不管怎么写i都是执行玩++i或i++后在判断下次循环条件时才用。所以这里是一样的。如果将for循环对应翻成汇编就清楚了。