摘要: Preprocessordirectives预处理器指令预处理器指令是指那些包含在我们代码中的预处理器语句行,这些预处理器语句不是真正的代码语句,但是他们指导程序如何进行编译.这些语句总是以‘#’开头.预处理器指令在代码真正编译开始之前执行,因此在任何语句生成代码之前预处理器移除所有的预处理指令。一条预处理指令仅占一行.只要发现新行的存在就认为预处理语句结束了.预处理语句后面不能加“;”.将一条预处理指令扩展为多行的唯一方法是在每行语句后面加上反斜杠“\”.macrodefinitions(#define,#undef)我们可以使用#define定义预处理宏.格式如下: #defineiden 阅读全文
posted @ 2013-07-27 18:08 wowk 阅读(391) 评论(0) 推荐(1) 编辑
摘要: 在 C++ 中 , 使用 new 操作符动态申请内存的时候,如果申请失败,则会抛出 bad_alloc异常当使用 delete 释放一块内存的时候 , 有些编译器上delete 不能判断一块内存是不是由 new 申请的如 : int i = 0; int *p = &i; delete p; p = NULL; // delete 以后迅速置为NULL ,这是一个好习惯这样的代码在许多编译器上都能编译通过,但是这是错误的,要注意还有一个关于删除 0 地址指针的 问题 delete (char*)0;C++ 保证 这条语句是正确的,但是他没有任何意义,不做任何动作 阅读全文
posted @ 2013-07-27 17:11 wowk 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 1 #include 2 #include 3 4 using namespace std; 5 6 int main() 7 { 8 //初始化一个bitmap , 将所有位置位 9 bitset bit(0xFFFF);10 11 cout << "construct" <<endl;12 cout << bit.to_string() << endl;13 14 //复位,将第12位置为false , 即015 bit.reset(12);16 cout << " reset 12" &l 阅读全文
posted @ 2013-07-27 16:59 wowk 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 类std::stringString类的定义,其也是个模板类typedefbasic_stringstring;StringclassStrings是代表一串字符的对象标准string类提供了类似于标准容器的接口,但是增加处理字符串所需的特殊的特征string是basic_string类模板使用char类型作为字符类型实现的类。使用默认的字符特征和分配器类型。成员类型成员类型定义value_typechartraits_typechar_traitsallocator_typeallocatorreferencechar&const_referenceconstchar&poi 阅读全文
posted @ 2013-07-27 14:53 wowk 阅读(2015) 评论(0) 推荐(0) 编辑