c++
文章平均质量分 74
baihacker
这个作者很懒,什么都没留下…
展开
-
重载new的分析II
作者:baihacker来源:http://hi.baidu.com/feixue=============本站原创,转载请注明出处=============以前写了一篇重载new的分析,很old了,于是有此文.文档参考:INCITS ISO IEC 14882-2003编译器:gcc version 4.4.0 (TDM-1 mingw32)操作系统:windows XP原创 2009-10-12 23:02:00 · 1918 阅读 · 2 评论 -
windows10下编译clang流水帐
windows10上编译clang的流水账。原创 2016-05-15 14:34:47 · 4412 阅读 · 4 评论 -
正确的C++并行
在《C++0x漫谈》系列之:多线程内存模型 (简称为漫谈)解释了多线程并行的困难,在这里我分层地看看这个问题。1.为什么分层次?C++语言表达的抽象和机器的抽象距离比较近,而且几乎看不到C++在虚拟机上跑的实例,所以两者的关系容易混淆。有人常常把反汇编拿出来一看,并作为C++语言是如此的证据,这是本末倒置的。假定C++都是直接翻译为汇编,于是这只是一个如何将一个语言翻译为另外一个语原创 2015-01-23 11:59:56 · 10358 阅读 · 0 评论 -
对json的爱恨情仇
本文回顾了对json的爱恨情仇. C++有风险,使用需谨慎.原创 2014-09-04 12:19:10 · 4354 阅读 · 0 评论 -
在GitHub上挖了两个坑
在Github上挖了两个关于project euler的坑.原创 2014-09-05 11:21:34 · 3008 阅读 · 0 评论 -
虚函数的小秘密
本文分析虚函数的小秘密,通过几个case说明为了支持虚函数,应该有什么样的约定,生成什么样的代码。原创 2014-07-31 14:46:43 · 2365 阅读 · 0 评论 -
C++11实现placeholder
文章分析如何在C++11中实现简单的placeholder。原创 2014-07-05 23:48:40 · 6788 阅读 · 0 评论 -
以C++为主的资料搜集
3991066原创 2013-08-25 00:35:38 · 2098 阅读 · 0 评论 -
求值时的未定义行为
int i = 1;int a = i++ + i++;这是一个很多初学都喜欢问题,是某些人喜欢考的问题,是某些人喜欢自以为是地回答的问题。见上一篇文章,所谓的结合性和优先级是怎么回事,而结合性和优先级在这里没有决定性的影响。一般的命令式的语言,都是有一些可操作的对象,通过一些操作,改变这些对象的状态,最后达到计算的目的。换句话说,是靠副作用进行的计算。里面一般会有两种语法结构原创 2013-06-29 20:41:42 · 1100 阅读 · 0 评论 -
c++中虚函数的简单应用
作者:baihacker来源:http://hi.baidu.com/feixue http://hi.csdn.net/baihacker本来是题目是:无聊时写了一点c++代码后来发现都和虚函数有关,于是就把题目名字改了其实我也不知道为什么要写这个,就随便写写吧。代码只是示例了虚函数的一些应用,并不是说在该场景下这样用最好,甚至于说,几乎不会出现这样的用法。但这可以让初学原创 2010-01-23 13:28:00 · 2246 阅读 · 4 评论 -
结合性,优先级,声明
0.引子int* arr[10];arr是一个数组,其中的元素是int*类型的。int (*ptr)[10];ptr是一个指针,指向的元素是具有10个int元素的的数组。1+2*3大家知道先乘除后加减,如果要先算1+2的话,就要写成(1+2)*31.结合性文法 (1):A := A+i | i对应的语言具有i+i+i的形式。其原创 2013-06-29 20:46:24 · 2029 阅读 · 0 评论 -
C++中的宏替换
1.引子#define cat(x, y) x ## y那么cat(a, b)和cat(cat(a, b), c)的结果是啥.#define str_impl(x) #x#define str(x) str_impl(x)的意图何在.2.规则宏替换是C/C++的预处理中的一部分,在C++标准中有4条规则来定义替换.规则1:实参替换.本条规则描述带参数的宏的替换过原创 2013-06-29 20:40:55 · 8851 阅读 · 0 评论 -
类型处理测试
//通过typeid,普通函数参数匹配,模板函数匹配,测试vc6, vc8, devc++(mingw3.4.2)对类型的处理情况(类型的转换)#include #include using namespace std;/*实际需要的参数类型:T*/template int compare(const T&, const T& t2){retu原创 2007-12-29 07:59:00 · 916 阅读 · 0 评论 -
模板分析
template int FOO(T, const U*){return 1;}template int FOO(int, const char*){return 12;}const char* b; cout 结果是啥?template int FOO(T, const U*){return 1;}template int FOO(int原创 2007-11-26 07:28:00 · 1938 阅读 · 1 评论 -
重载new的分析
作者:baihacker来源:http://hi.baidu.com/feixue=============本站原创,转载请注明出处=============今天有朋友在QQ群上说关于new重载的问题......于是我就写了个程序分析一下结论:重载new不好玩...要谨慎...何况这里还不是全局的new(全局new能玩死人的)有意见请到我主页,加入黑色矩阵系列QQ群进行讨论原创 2007-07-27 13:06:00 · 4966 阅读 · 7 评论 -
重载new的分析III
作者:baihacker来源:http://hi.baidu.com/feixue=============本站原创,转载请注明出处=============继续使用重载的说法似乎不恰当了,因为有的是replace而不是overload,这里还是不改变标题吧。在文1中主要是通过一些实验,进行了一些推测。在文2中引用了标准,解读了关键部分,同时写了两个示例程序和一个有bug原创 2013-06-29 20:38:56 · 920 阅读 · 0 评论 -
简单的C++Concept实现:给模板参数加限制
本文介绍一种简单的C++ Concept实现:给模板参数加限制。1.背景#include using namespace std;typedef long long int64;struct BigInteger { BigInteger(int64 v): value(v) {} int64 value;};templateBigInteger ope原创 2018-01-29 02:51:06 · 4170 阅读 · 0 评论