摘要: 《Effective C++》条款4中提到了”留意不同编译单元内的non-static变量的初始化顺序“下文的描述得很详细,转载过来了。http://blog.csdn.net/chgaowei/article/details/6001433static对象包括global对象,定义于namespa... 阅读全文
posted @ 2015-04-27 11:34 P.wang 阅读(793) 评论(0) 推荐(0) 编辑
摘要: (必须吐槽一句,博客园的审批对于这样的细节问题似乎有点不屑,恰恰这样的问题才是记录在这里常翻阅的,否则项目代码上git,放这里干什么)首先,由global变量引出我们今天的问题:C++中global变量是全局可见的,可以在不同的compilation unit(编译单元)中使用。如下两个文件:1.c... 阅读全文
posted @ 2015-04-27 11:17 P.wang 阅读(1219) 评论(0) 推荐(0) 编辑
摘要: 《深入C++对象模型》绝对是一本值得深读的一本书,书里多次出现一句话,“一切常规遇见虚继承,都将失效”。这是一个有趣的问题,因为C++标准容忍对象布局的实现有较大的自由,出现了各编译器厂商实现的方式不同。今天谈谈visual studio2013多重虚继承下对象布局。有错不要客气,不要吝啬你的留言。... 阅读全文
posted @ 2015-04-17 16:47 P.wang 阅读(1338) 评论(4) 推荐(0) 编辑
摘要: intel xeon phi coprocessor 使用offload方式进行计算时,可以利用__MIC__的宏来条件编译代码,以区分在host cpu上的代码和在MIC协处理器上的代码。这对于那些只针对MIC才有的KNC指令特别有用。它的使用方式类似于:#ifdef __MIC__//do so... 阅读全文
posted @ 2015-02-03 20:39 P.wang 阅读(784) 评论(0) 推荐(0) 编辑
摘要: 调用函数时:调用函数整理需要传给被调函数的参数。通常使用压栈的方式(一般在参数个数超过3个时发生)。一般采用倒序压栈,所有参数入栈后,SP指向第一个参数。(被压栈的参数,通过直接映射到被调用函数的内存映像中,引用始终如此,指针和对象有时如此)把当前IP(指令寄存器)值压栈,然后调用指令跳转到被调函数... 阅读全文
posted @ 2015-01-27 22:06 P.wang 阅读(958) 评论(0) 推荐(0) 编辑
摘要: //下面的代码思想取自efficient c++ 1 ////////////////////////////////////////////////////////////////////////// 2 //可分为:1.内存池本身的创建和删除 3 // 2.内存池中空闲内存的维护 ... 阅读全文
posted @ 2015-01-14 22:29 P.wang 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 一直对static和全局变量的作用域模模糊糊,今天读到一篇文章,写得很详细。温故能知新。下面的内容转载自:http://developer.51cto.com/art/201104/256820.htm—————————————————————————————————————————————————... 阅读全文
posted @ 2015-01-14 10:53 P.wang 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 好久没有编写逻辑如此复杂的函数了。用了一天的时间来思考代码实现,灵机一动,想出在构造树型结构的同时能够一边计算节点能量,没有完成它,成就感已经爆棚。设计方案非常的完美,但是实现的时候细节非常的多,还要考虑代码的扩展性,三个函数足足花了两天的时间来编写。等完成代码了,检查完最后一遍逻辑,满意的离开了实... 阅读全文
posted @ 2014-12-26 15:19 P.wang 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1.函数可以和类一样定义为模板函数。模板函数与模板类最大的不同是:模板函数可以通过函数的参数确定模板类型。template T&lookup(string &s,const int n){......}string s;int x=0;lookup(s,x);//这里自动识别到T就是float类模板... 阅读全文
posted @ 2014-08-13 21:55 P.wang 阅读(1099) 评论(0) 推荐(0) 编辑
摘要: 冰哥哥最近在刷笔试题,昨晚问了一个没有意义,但很有意思的一个问题:求输出:#includeint main(){ int a=10; a+=a-=a++; std::cout操作符属于同一优先级,所以不能写出a->b++这样的表达式)于是,上面的运算表达式可以写成:a+=a-... 阅读全文
posted @ 2014-08-02 09:15 P.wang 阅读(3033) 评论(0) 推荐(0) 编辑