本文是一个只会写类似c的c++代码的卢瑟的读后感
《Object Oriented Programming is Dead》原文在此
学c++后就只会用vector什么的,面向对象的思想是完全不会主动去用
一直以来写代码都是模块化的思维完成的,对我来说,类和对象之类的就是看得懂但完全不会主动去用的东西
模块化的c好还是面向对象的c++一直就没有个定论,在这点上争吵没意义,因为吵不出个结果嘛
Linus也曾与一个微软的工程师(Dmitry Kakurin)争论过c/c++,见这里和这里
Dmitry Kakurin说
纯C写的,而不是C++,不知道为什么,请别告诉我是为了移植性,这完全是胡扯。
Linus还击
你才是完全在胡扯。C++是一门很恐怖的语言,而比它更恐怖的是很多不合格的程序员在使用着它
我认为这东西争不出个结果来,就我个人来说,偏爱c一些,并且更喜欢用模块化的思维编程
面向对象的程序能看懂但写不出大个头的程序出来。
最后,写个代码写出优越感是很丢人的事。
说个题外话,程序员活该赚不到钱。
要是几个人派出一个代表,花点小功夫撸来三五百,然后那几个码农一起去吃个饭多好。
电脑城修电脑的现在赚不到钱也是这个道理。
大伙儿的生意就是这样被砸了的。
《Object Oriented Programming is Dead》读后
c++的namespace
今儿写了个程序,编译出错,出错内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
1>------ 已启动生成: 项目: Image, 配置: Release Win32 ------ 1>生成启动时间为 2011/4/23 18:49:12。 1>InitializeBuildStatus: 1> 正在创建“Release\Image.unsuccessfulbuild”,因为已指定“AlwaysCreate”。 1>ClCompile: 1> main.cpp 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(373): error C2039: “iterator_category”: 不是“CvScalar”的成员 1> C:\OpenCV2.2\include\opencv2/core/types_c.h(1199) : 参见“CvScalar”的声明 1> main.cpp(42): 参见对正在编译的类 模板 实例化“std::iterator_traits<_Iter>”的引用 1> with 1> [ 1> _Iter=CvScalar 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(373): error C2146: 语法错误: 缺少“;”(在标识符“iterator_category”的前面) 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(373): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(373): error C2602: “std::iterator_traits<_Iter>::iterator_category”不是“std::iterator_traits<_Iter>”基类的成员 1> with 1> [ 1> _Iter=CvScalar 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(373) : 参见“std::iterator_traits<_Iter>::iterator_category”的声明 1> with 1> [ 1> _Iter=CvScalar 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(373): error C2868: “std::iterator_traits<_Iter>::iterator_category”: 非法的 using 声明语法;应输入限定名 1> with 1> [ 1> _Iter=CvScalar 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(374): error C2039: “value_type”: 不是“CvScalar”的成员 1> C:\OpenCV2.2\include\opencv2/core/types_c.h(1199) : 参见“CvScalar”的声明 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(374): error C2146: 语法错误: 缺少“;”(在标识符“value_type”的前面) 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(374): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(374): error C2602: “std::iterator_traits<_Iter>::value_type”不是“std::iterator_traits<_Iter>”基类的成员 1> with 1> [ 1> _Iter=CvScalar 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(374) : 参见“std::iterator_traits<_Iter>::value_type”的声明 1> with 1> [ 1> _Iter=CvScalar 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(374): error C2868: “std::iterator_traits<_Iter>::value_type”: 非法的 using 声明语法;应输入限定名 1> with 1> [ 1> _Iter=CvScalar 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(375): error C2039: “difference_type”: 不是“CvScalar”的成员 1> C:\OpenCV2.2\include\opencv2/core/types_c.h(1199) : 参见“CvScalar”的声明 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(375): error C2146: 语法错误: 缺少“;”(在标识符“difference_type”的前面) 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(375): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(375): error C2602: “std::iterator_traits<_Iter>::difference_type”不是“std::iterator_traits<_Iter>”基类的成员 1> with 1> [ 1> _Iter=CvScalar 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(375) : 参见“std::iterator_traits<_Iter>::difference_type”的声明 1> with 1> [ 1> _Iter=CvScalar 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(375): error C2868: “std::iterator_traits<_Iter>::difference_type”: 非法的 using 声明语法;应输入限定名 1> with 1> [ 1> _Iter=CvScalar 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(377): error C2039: “pointer”: 不是“CvScalar”的成员 1> C:\OpenCV2.2\include\opencv2/core/types_c.h(1199) : 参见“CvScalar”的声明 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(377): error C2146: 语法错误: 缺少“;”(在标识符“pointer”的前面) 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(377): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(377): error C2602: “std::iterator_traits<_Iter>::pointer”不是“std::iterator_traits<_Iter>”基类的成员 1> with 1> [ 1> _Iter=CvScalar 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(377) : 参见“std::iterator_traits<_Iter>::pointer”的声明 1> with 1> [ 1> _Iter=CvScalar 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(377): error C2868: “std::iterator_traits<_Iter>::pointer”: 非法的 using 声明语法;应输入限定名 1> with 1> [ 1> _Iter=CvScalar 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(378): error C2039: “reference”: 不是“CvScalar”的成员 1> C:\OpenCV2.2\include\opencv2/core/types_c.h(1199) : 参见“CvScalar”的声明 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(378): error C2146: 语法错误: 缺少“;”(在标识符“reference”的前面) 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(378): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(378): error C2602: “std::iterator_traits<_Iter>::reference”不是“std::iterator_traits<_Iter>”基类的成员 1> with 1> [ 1> _Iter=CvScalar 1> ] 1> C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(378) : 参见“std::iterator_traits<_Iter>::reference”的声明 1> with 1> [ 1> _Iter=CvScalar 1> ] 1>C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\xutility(378): error C2868: “std::iterator_traits<_Iter>::reference”: 非法的 using 声明语法;应输入限定名 1> with 1> [ 1> _Iter=CvScalar 1> ] 1> 1>生成失败。 1> 1>已用时间 00:00:01.25 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ========== |
出错部分代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
double distance(CvScalar &color1,CvScalar &color2) int MinDistance(CvScalar &color) { int index=-1; double mindistance=DBL_MAX; double dis; for (size_t i=0;i<cluster.size();i++) { dis=distance(color,cluster.at(i).color); if (dis<mindistance) { index=i; mindistance=dis; } } return index; } |
查错过程不叙述了,出错原因时distance和标准库函数重名了,不同库同时在用时,注意名字空间。
所见略同
从拿到目前这个活儿开始,我就一直在说,某loongson就是个屎,而为了吃饭我不得不跟屎打交到。
今儿开完会后,某哥说,这货就是个垃圾,咱们就是一直在跟垃圾打交道。
听完之后,MB太有感触了。
顺带一提,某2f单片机号称800Mhz-1200Mhz(1200Mhz是wiki英文版上写的),无比牛逼,堪称Pentium 4中档水平。
你想查看其真实频率?对不起呀,木有任何直接查看的接口。
那么我们只能想办法推测一下了,现在使用lemote的某1800大洋的电脑对其测试。
1 |
cat /proc/cpuinfo |
只能查看BogoMIPS,其值为530.43。
尝试在多台x86处理器上使用该命令查看。
所得cpu MHz均为Bogo MIPS的1/2,误差很小。(诸位看倌可以试试,如果相差显著请指正。)
好,那么可以推测该屎的频率,265Mhz。
传说中的800Mhz-1Ghz呢?好吧,不多喷了,继续与屎打交道…
略蛋疼
刚跟马锅约出去玩的事,准备5.5后几天出发,但是算算时间太蛋疼了。
到六月初,有双学位的毕设需要大改一下,有CS的毕设完全没动。
有个答应jm的opencv程序..
有个某Job网站的活儿,此外有另一个网站的活儿..
And某废材处理器工作上打杂的活儿也少不了的,这个是必须的…
五月还有个毕业旅行得花4天时间。
我擦,累死老夫的说,刚才晚饭前后像这挺郁闷的。。
这几天加班加点的干吧,把这几样干完好好玩玩儿。
做完后顺带再买个上网本买个相机,给去tibet做点准备。。
最后这个事儿继续推迟吧,或许要在去tibet的过程中完成了。
终归还是承认恶性通胀了
来源在此
中新网4月15日电 国家统计局今日发布数据显示,采用新权数计算的3月份,居民消费价格(CPI)同比涨幅5.383%,环比下降0.207%,采用旧权数计算的居民消费价格(CPI)同比涨幅5.415%(新浪财经注:此为2008年8月以来的32个月新高),环比下降0.225%。
其实迟早有这么一天的,按国际惯例3%就算是通胀了,5%已经是恶性通胀了。天朝说,我镇镇情特殊,体制优越,所以5%才算通胀。这不,这天终于来了。真实的cpi涨幅不得而知。不过这几年来想生活下来倒是越来越不容易了。
说说梦
今儿谈谈玄乎的,梦是咋回事。我在前几天做梦的时候,想到这个东西的,当时把想到的内容MK下来继续睡觉了,拖到现在来谈这个东西。
这个有趣的想法我没打算验证它,大家当个故事看吧,不必当真。当然各位如果能把自己的看法说给我听,我就更高兴了~
下面牵扯的专业词汇暂不解释,手机打字累,键盘都要按坏了的说。
人脑可以看做一个CPU,人脑不可能并行的思考(牛人最多并发)。在梦中,人脑同时处理两个thing,一个是梦中的自己,一个是梦中的世界。梦中的自己就不用解释了。梦中的世界可以看做是梦中除了自己的所有东西。
以上梦中的自己和梦中的世界可以看做两个进程,它们在大脑(cpu)中并发运行。一些外界的干扰,例如噪音,震动等等通过“梦中的世界”这一线程,干扰梦中的世界,如噪音变成刮风,震动变成地震等等。“梦中的自己”线程的作用等同现实中的自己。
大脑中两个进程以轮循方式调度,达到并发的效果。
至于为什么梦中时间过得快,那天晚上的梦里我没思考这个。
梦中想到的东西,大体上记录完了,不要太认真,当故事看看吧。
==============Writed through wap==============