C/C++语法
文章平均质量分 60
NOTTME
这个作者很懒,什么都没留下…
展开
-
宏定义中使用do{}while(0)的好处
#define MACRO_NAME(para) do{macro content}while(0)的格式,总结了以下几个原因:1,空的宏定义避免warning:#define foo() do{}while(0)2,存在一个独立的block,可以用来进行变量定义,进行比较复杂的实现。3,如果出现在判断语句过后的宏,这样可以保证作为一个整体来是实现:转载 2014-05-29 23:03:35 · 577 阅读 · 0 评论 -
C/C++之define用法小结
1、define——(无参数宏定义)用法 一般形式为:#define标识符 字符串 (1)“#”表示其为预处理命令,凡是以“#”开头的都是预处理命令;“define”为宏定义命令;“标识符”为所定义的宏名;“字符串”可以是常数、表达式、字符串等。 (2)除了经常用到的如“#define MAXNUM 100”之外,还有其它多种灵活的用法,如“转载 2014-01-19 13:04:12 · 608 阅读 · 0 评论 -
C/C++运算符优先级
C/C++运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右 ()圆括号(表达式)/函数名(形参转载 2014-05-30 09:45:43 · 634 阅读 · 0 评论 -
C++ <set> 笔记
set类的对象不能通过迭代器用赋值运算符=直接修改数据内容。algorithm中的set_intersection函数求交集:// set_intersection example#include // std::cout#include // std::set_intersection, std::sort#include // std::vec原创 2013-05-24 18:41:12 · 624 阅读 · 0 评论 -
Priority_queue优先队列
优先队列是一种容器适配器(容器适配器的概念本人不会解释,故此处无法作出说明),它的第一个元素(位于头部top)总是队列中最大的元素,这里的“最大”是指队列元素的严格弱序中的“最大”。严格弱序是一系列数或事物按照一定的比较关系“<”排列得出的序列,“<”可以是数学中进行数值比较的大于,也可以是小于,还可以是其它含义,这大概与离散数学中的“偏序关系”相仿。 在内存充足的情况下,优先队列能被无转载 2013-05-22 16:33:01 · 558 阅读 · 0 评论 -
C++ 虚函数表解析
C++ 虚函数表解析 陈皓http://blog.csdn.net/haoel 前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,R转载 2015-05-06 19:13:11 · 292 阅读 · 0 评论 -
C++ 11新特性:移动构造函数和移动赋值操作符
移动构造函数在C++11中新加入的特性!在上一篇blog中我加入了一张图,可以具体看到移动构造函数的运行原理。此时,我们偷走了临时变量的内存空间,据为己用。节省了开辟空间的时间。[cpp] view plaincopyA(A && h) : a(h.a) { h.a = null转载 2015-07-14 13:40:00 · 6668 阅读 · 0 评论 -
c++引用计数实现
#include #include using namespace std;class String {public: String(const char *pdata); String(const String &rhs); String &operator = (const String &rhs); ~String();private:转载 2015-07-21 19:30:42 · 622 阅读 · 0 评论 -
C++类内存分布
转自http://www.cnblogs.com/jerry19880126/p/3616999.html书上类继承相关章节到这里就结束了,这里不妨说下C++内存分布结构,我们来看看编译器是怎么处理类成员内存分布的,特别是在继承、虚函数存在的情况下。工欲善其事,必先利其器,我们先用好Visual Studio工具,像下面这样一步一步来:转载 2015-08-06 11:42:06 · 316 阅读 · 0 评论