C/C++小知识总结之一。记录于此,以备查询之需。

1try中的语句用于来放容易出错的代码,如果出错了它就不执行try下面的代码了,直接跳到catch里面去。如果没出异常则catch里面的代码不执行,它还有一个关键字finally它里面的代码无论有没有出异常它都要运行。

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循环对应翻成汇编就清楚了。

7、GCC,Turbo C中可以通过包含头文件math.h就可以直接使用圆周率M_PI了,而VC里面只需在代码头部加上一条

   #define _USE_MATH_DEFINES就可以。

   M_PI_2表示pi/2;M_PI_4表示pi/4。


8、C++中的解决方案(solution)和项目(project也叫工程)的区别:
http://book.51cto.com/art/201012/238831.htm
http://blog.csdn.net/yjkwf/article/details/44062515
9、关于指针的若干文章
http://www.cnblogs.com/ggjucheng/archive/2011/12/13/2286391.html
http://wenku.baidu.com/link?url=Y5yBhFfcy8dogXqbyfQul4LqXb_H4RZYerr9fcgwLxSC1rnov2gi8eSFE-c3aQwPhFXcLLPok4s-t0IfBagYBXSxcQGbdQ7nCUZXuDNj3tO
http://blog.chinaunix.net/uid-21411227-id-1826942.html


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值