Visual C++ 6.0友元函数模板需要注意的Bug

晕,一个破链表程序还要面向对象,搞到半夜,一会是编译错误一会是链接错误错误。

按照C++国际标准,重载的友元函数声明(以流操作符为例)必须写成这样:

1
friend ostream& operator << <T>(ostream &, const List<T> &);

按照VC6的狗屁标准必须写成这样:

1
friend ostream& operator <<(ostream &, const List<T> &);

否则会提示一些不知所云的错误,如下:

继续阅读

《唐山大地震》吐槽影评

今天去看了国产片《唐山大地震》,总体感觉良好,至少不能说失望。不过还是有一些让我不爽,国产片啊……

下面就来说道说道电影的一些细节,做一次铁石心肠的评论者。可能涉嫌剧透~~~先声明了啊!

有人说看完感动的泪流满面,我倒是感觉这个片子很多可以感人的地方都被跳过了。反而是“就买人寿保险吧”这些雷人话语让人哭笑不得。

影片的开始部分还是不错的,表现的很随意,很生活。姐姐方登非常威猛,直接放倒一个小哥,保护了弟弟。但是这个段篇幅不短的镜头貌似并未给下文埋下伏笔。

继续阅读

小贼哪里跑!——自行车失而复得记

这件事发生有一段时间了,一直没来得及写。觉得还是值得记录下来,现在补上吧。2010年7月16日早晨八点,我走出宿舍准备骑车去上实践周的课程。可是找了半天竟然没有找到我的自行车。心想真是老了,车子停哪都忘了。我不信邪,将宿舍门口的停车区转了个遍,还是没有发现车子的踪迹。时间紧迫,只好先步行去教室了。

在路上我仔细回想了昨天的与车子的种种情形,记得晚上吃晚饭还骑车去科技楼ATM提款并给校园卡充值,回来就把车子停在靠近宿舍门的位置,再就没有出过宿舍了。随着回忆,昨天的情景渐渐清晰。我断定车子是被盗了。

继续阅读

OpenCV使用VideoInput库从摄像头捕获视频

OpenCV具有强大的图像处理功能,处理视频也是毫不逊色。只是其自带的HighGUI并非是具有工业强度的模块,不适合最终提供给客户,仅仅是方便程序开发阶段的调试。其中跟视频捕获相关的cvCreateCameraCapturecvCaptureFromCAM函数可以方便的从摄像头捕获视频,但这两个函数在Windows中都是由较为低效的VFW机制实现的,不适合在最终产品中使用。

在Windows中使用DirectShow可以高效的从摄像头捕获视频,但使用较为复杂。OpenCV中文网的YuShiQi提供了一个基于DirectShow实现的摄像头捕获类,但试用后效果一般,速度并没有明显的提高。
新版的OpenCV(OpenCV 2.0及以后版本)提供了第三方的VideoInput库,该库实现了基于DirectShow的视频捕获,使用方便、功能强大,速度也很快。另外还有一个意外发现——腾讯QQ的视频捕获貌似用的也是这个库哦~~

继续阅读

为用Code::Blocks写的程序添加图标

使用Code::Blocks写出来的界面程序的图标是个默认的DOS图标,很想把它换成一个自己定义的图标。经过尝试,发现使用.rc资源文件可以轻松实现这点。

新建一个icon.rc资源文件,加入一行:

1
MAINICON ICON "Icon_1.ico"

然后把Icon_1.ico拷贝到当前目录,接着把icon1.rc文件添加到项目中去,最后编译即可。


版权声明

The Bloom of Youth by KUANG Qi is licensed under a Creative Commons BY-NC-ND 4.0 International License.
况琪创作并维护的锦瑟华年博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证

本文首发于The Bloom of Youth | 锦瑟华年博客( http://kuangqi.me ),版权所有,侵权必究。

本文永久链接:http://kuangqi.me/programming/add-icons-to-programs-dev-by-codeblocks/

对编程语言中变量命名和代码缩进规范的讨论

风格优美的程序,读起来就像读一篇流畅的文章。清晰易懂又给人以美感。

看着教材和例程中糟糕的编码风格,再看着同学发来的,模仿那些的拙劣的编码。我决定写出这篇文章,谈一谈我对编程规范的拙见。

关于变量命名

这个问题是本文准备讨论的重点。先来总结一下变量命名的几大常用方法。

继续阅读

最近有点混乱

开学两周了,该静下来思考一下了。总的来说,这学期要比上学期更有目标了。但该为这些目标做哪些努力,似乎还并不明朗。

开学第一周,高数继续狂轰滥炸,只能边复习边学新课。物理还好,微分符号出来吓唬人,无视之!第一节讲导论和发展史,吓死人。第一节讲向量,像数学课。后面就是经典力学,也好应付。电子科学导论的老师很有老师的气质,讲的也很详细,感觉不错。C++老师貌似很NB,只是讲课很紧张,像个初来乍到的新生。布置的作业“约瑟夫问题”,难度超过了我的预料,让我对北师大信科燃起一丝希望。电路课比较纠结,节奏比较快,作业也有难度,准备去买本习题解答……对了,还有“全球变暖”选修课。不错的课程,挺牛的老师。

继续阅读

C++ STL学习笔记之容器

今天去OJ刷水题,与其说去刷题,不如说是去学C++标准库。现将学习成果记录下来。

使用map容器进行单词统计

题目地址:http://acm.bnu.edu.cn/contest/problem_show.php?pid=4045

大意:统计一篇文章中每个单词的出现次数。将大于3次的单词按字典序输出。

分析:传统方法要自己实现单词查找操作,还要对单词进行排序。调试复杂,代码长度通常会超过1000字节。

使用C++的map容器实现,无需用户实现查找操作,由于map容器在标准库中通常以树结构实现,所以其元素的顺序不是由用户管理的。换句话说,无论如何插入元素,在用户看来元素都是有序的。由于map树形结构的特点,不能使用下标顺序访问元素,而需要使用迭代器遍历。

继续阅读

好友危机

今天试用了一个QQ外挂。这个外挂有一个特色功能,就是分析好友关系。能批量的检测你所有的好友,可以检测出对方是否已经将你从他好友名单中删除。觉得有意思,就试了一下。

真是不测不知道,一测吓一跳。已经将我删除的好友排成一长串。估计有几十个。这其中有一些陌生的网友,自己都不知道是怎么加上的。一直占据着我的好友名单,从未联系过。我没有随手将他们删除,我还在试图珍惜这些陌路人。然而我却不知道,自己的名字,连在对方好友名单中占据一个16像素的小格子的资格都不够。 这其中也有很多熟人,有联系不多的同班同学,也有曾经并肩战斗的挚交好友。他们为什么会将我删除?难道是软件的误报?然而我想错了。

继续阅读

IMAX巨幕《阿凡达》观影之旅

一直很期待巨幕(IMAX)版的阿凡达,开学前特别早来了几天,准备去中国电影博物馆体验一下70mm胶片版的巨幕阿凡达。据说有这个条件的影院北方地区只有中国电影博物馆一家,全国也只有3家。这么好的条件,必然是一票难求。今天一早六点多钟,我被狗叫声(手机闹铃音)叫醒,开始了这段纠结而奇妙的体验。不想细说电影的情节,主要是来讲讲一天的见闻。

穿好衣服,走出宿舍大概是6:10,天还没亮。中国电影博物馆在五环之外,位置比较偏僻,地铁也没有,只好坐公交车去。昨晚已经用Google地图查好了行程,胸有成竹的向车站走去。坐635到幸福三村下车,再走到春秀路。Google地图上大概是20米的样子。可我走了50米也不见车站,感觉不太对。GPS一时还找不到信号,遂打听了一个路人,那人莫名其妙的看着我,然后用怜悯的眼神看着我,告诉我春秀路是前一站。换句话说,我坐过了一站……该死的Google地图!

继续阅读