C/C++中容易出错的地方

文章出处:http://blog.csdn.net/cnsword/article/details/7360752

逻辑移位是不考虑正负号的

算术移位是考虑正负号的


进行宏定义的时候,用以下的方式来进行定义

#define MACRO do{//TODO}while(0)

来防止出现错误


delete NULL是合法的,而且不会出现错误。


对指针进行加减,步长取决于指针的类型。


直接复制的char指针式常量字符串不能进行修改。


C++比C有更强的类型检查功能,有的时候在C中不需要进行转换的,在C++中需要进行强制类型转换。


函数的返回值和参数的传递都会产生副本。


静态成员函数只能操作类变量,没有this指针。


dynmaic_cast只支持指针和引用类型的转换,且做运行时类型转换,其他的不会。http://blog.csdn.net/wingfiring/article/details/633033


string::c_str()返回的是const char*;


保持函数成员变量声明顺序和初始化列表顺序一致;


因为c++在c的函数库的名称前做了修改做重载的特性,c++使用c的库时需要在函数前加extern‘C’;


const函数只能调用const函数,不能调用非const函数;(http://www.cnblogs.com/Fancyboy2004/archive/2008/12/23/1360810.html









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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值