其他C++

1、指针和数组的区别
1.cpp:
char ia[] = 'Hello';
2.cpp:
extern char ia[];    //这里不能用extern char *ia;
print(ia);


2、构造函数,析构函数的异常处理
C++在执行构造函数过程中产生异常时,是不会调用对象的析构函数的,而仅仅清理和释放产生异常前的那些C++管理的变量空间等,之后就把异常抛

给程序员处理。所以,如果在C++的构造函数中发生异常时,已经创建的东西必须被释放掉,然后再重新抛出给上层调用代码处理,这才是C++构造函

数中正确的异常处理方法。(聪明程序员还可以找到另外一种不用try...catch来处理构造异常的方法,那就是C++标准类库的那个著名的auto_ptr,它

巧妙的利用C++推出作用域时会自动释放变量的机制,来清理其维护的对象)。
禁止异常信息传递到析构函数外:
有两种情况会条用析构函数,第一种是在正常情况下删除一个对象;第二种是异常传递的堆栈辗转开解过程中,由异常处理系统删除一个对象。注意

第二种情况,也就是如果在一个异常被激活的同时,析构函数也抛出异常,并导致程序控制权转移到析构函数外,C++将调用terminate函数。此外,

不允许异常传递到析构函数外面还有第二个原因:如果一个异常被析构函数抛出而没有在函数内部捕获住,那么析构函数就不会完全运行,无法完成

希望它做的所有事情。

3,右值引用(C++0x特征)

http://www.cnblogs.com/solo/archive/2010/04/19/1715607.html

http://www.cnblogs.com/oiramario/archive/2010/10/11/1847802.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值