随笔分类 -  C++

摘要:从VC2003到VC2005,一直有一个很奇怪的问题。 如下的代码:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--shorts1=0;shorts2=2;s1+=s2; 在这两个编译器的 /w4 四级警告打开的时候,就冒出以下的警告来:Code hi... 阅读全文
posted @ 2007-11-30 12:48 沐枫 阅读(1582) 评论(1) 推荐(0) 编辑
摘要:没想到汉语编程又有人开始网上对骂了。一方指另一方骗人,一方吹自已伟大。 今天群里头有人又把它翻出来了,刚好无聊,也就发明了一个汉语编程语言,集成到visual studio 2005的IDE中,名字就叫汉语编程++,欢迎同样无聊的朋友试用。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeH... 阅读全文
posted @ 2007-10-17 20:20 沐枫 阅读(3579) 评论(2) 推荐(0) 编辑
摘要:C语言确实很优雅,整个语言的设计简洁一致。而在C++中,有一个让人诟病的问题就是变量初始化的不一致性。C语言中的初始化,都是用花括号进行,简单美观:intarray[]={1,2,3,4,5};structPointpoint={2,3};structPointarrPoint[]={{2,3},{4,5},{6,7}};C++自然也兼容了C语言的初始化机制。然而,C++的Class乃至STL都不... 阅读全文
posted @ 2007-09-27 17:50 沐枫 阅读(3383) 评论(2) 推荐(0) 编辑
摘要:一直在使用C/C++,对于循环语句while、do while、for,对于for情有独钟,因为其简洁、清晰、灵活。访问数组类型的变量,只有for写出来的语句是最易于阅读的,如:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--intarr[N]={/*... 阅读全文
posted @ 2007-09-26 19:48 沐枫 阅读(1887) 评论(2) 推荐(0) 编辑
摘要:要说C++0x中对泛型编辑最大的改变,当属Concept了。Concept这个东西,其实并不是刚刚提出来的。可以说,Concept是STL的基础。STL之于C++的地位不言而寓,而其中最重要的,当属迭代器(Iterator)的概念(Concept)了。这是接触STL后得到的最明显的Concept。有了迭代器,就可以将算法与容易分离开来,这样就奠定了STL的基础。于是一个又一个服务于STL的概念(C... 阅读全文
posted @ 2007-09-09 22:43 沐枫 阅读(3109) 评论(1) 推荐(1) 编辑
摘要:又是后知后觉,今天猪猪给我一个地址,让我看看怎么回事,结果我一看,是codeproject的MFC专栏。乍一看,真的晕了,所有的项目都是Ultimate Toolbox的。再一看,哇,Ultimate Toolbox从2007年8月起开源了,免费了。其最后几个产品是5月份发布的。就象被个馅饼砸中了一样,有点晕。想当年,MFC下面最知名的界面库Ultimate ToolBox是个非常让人留口水的。没... 阅读全文
posted @ 2007-09-07 20:50 沐枫 阅读(3716) 评论(3) 推荐(0) 编辑
摘要:关于.net方面,已经有许多人在关注了,我就关注一下,VC2008方面的新东西吧。1. 晕倒,实证后,没有增加tr1库(仅增加了tr1::hexfloat).2. 对于模板的>>符号,中间不再需要空格了。3. 增加了for each(T& in A){}语法--这个不算是改进吧,估计是为了与.NET一起工作的产物。这是今天下午初步扫一眼VC2008中Native C++后的感觉... 阅读全文
posted @ 2007-08-14 00:34 沐枫 阅读(1859) 评论(2) 推荐(0) 编辑
摘要:这是入门级的随笔,说的是函数对象的定义,使用,以及与函数指针,成员函数指针的关系。 阅读全文
posted @ 2007-07-21 21:30 沐枫 阅读(11452) 评论(10) 推荐(4) 编辑
摘要:boost 1.34 终于简化了内嵌python的支持。还支持了python2.5。在中文windows下用vc8编译boost的过程中,虽然仍有代码页字符警告,但是可以正常编译成功,不再象1.33.1那样造成正则表达式库不修改源码不能够编译通过的问题了。下面的例子是从boost文档中来的:Code highlighting produced by Actipro CodeHighlighter ... 阅读全文
posted @ 2007-05-23 12:55 沐枫 阅读(2191) 评论(1) 推荐(0) 编辑
摘要:昨天,boost终于发布了1.34版本。该版本新增加了几个内容:1. BOOST_FOREACH 宏  一直对于C++的iterator枚举元素造成的bad smell感到无奈,同时,许多语言都增加了foreach机制。终于,boost增加了这个枚举工具。从此,C++的枚举不再难看。如:Code highlighting produced by Actipro CodeHighlighter (f... 阅读全文
posted @ 2007-05-13 22:18 沐枫 阅读(1337) 评论(0) 推荐(0) 编辑
摘要:Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱。   所以,我只简单的归纳一下Lua的一些语法规则,使用起来方便好查就可以了。估计看完了,就懂得怎么写Lua程序了。 阅读全文
posted @ 2006-08-04 11:39 沐枫 阅读(131270) 评论(26) 推荐(17) 编辑
摘要:C/C++内置的输入、输出,对整数进制只支持三种:8进制、10进制、16进制。记得很久以前,有好几次想用到2进制的输入输出,最终只好自已转换。 昨天kaikai突然发了一个POST: kaikai:看看能不能把这个程序改得更短?#include int main(){ char*a,b[33]; scanf("%*d"); while(scanf("%s",b)==1) ... 阅读全文
posted @ 2006-06-29 10:11 沐枫 阅读(5232) 评论(6) 推荐(0) 编辑
摘要:  本文提供了一个方法,让C++源码和C#源码一起编译链接成一个单一的Assembly。   由于C++提供了IJW方法,允许将旧有C++代码也编译成托管代码,因此这篇小文可以用极小的工作量来彻底解决所有C++遗留代码移植到.NET的问题。   这个方法,再加上前次的小文《您也使用托管C++吗?》,就可以把C++遗留代码移植到.NET的所有方法一网打尽了。 阅读全文
posted @ 2006-04-12 17:26 沐枫 阅读(11349) 评论(16) 推荐(1) 编辑
摘要:  汇编语言的Hello World,汇编语言没有我想象的那么低级,它已经具备了不少高级语言的特性,代码也变得清晰,层次清楚,易于维护了。 阅读全文
posted @ 2006-04-06 12:02 沐枫 阅读(7625) 评论(9) 推荐(0) 编辑
摘要:  转向.NET后,手头上往往仍有旧的模块要重用。也许这些模块是Delphi写的,也许是C/C++写的,或者是其它编程语言……为了能把它们移植到.NET下,或者是在.NET中调用,To be or not to be, that is a question。   在这里,我笔记了几个在工作中遇到的几个场景。不过,这里不包括完全使用C#来重写原来用C++编写的程序这种变态的需求。当你被要求做这种事的时候,请三思而后行……这简直是种非人的折磨。 阅读全文
posted @ 2006-03-31 16:44 沐枫 阅读(22728) 评论(39) 推荐(2) 编辑
摘要:  C语言的指针相当的灵活方便,但也相当容易出错。许多C语言初学者,甚至C语言老鸟都很容易栽倒在C语言的指针下。但不可否认的是,指针在C语言中的位置极其重要,也许可以偏激一点的来说:没有指针的C程序不是真正的C程序。   然而C++的指针却常常给我一种束手束脚的感觉。C++比C语言有更严格的静态类型,强调类型安全,强调编译时检查。因此,对于C语言中最容易错用的指针,更是不能放过:C++的指针被分成数据指针,数据成员指针,函数指针,成员函数指针,而且不能随便相互转换。而且这些指针的声明格式都不一样.   尽管C++中仍然有万能指针void*,但它却属于被批斗的对象,而且再也不能“万能”了。它不能转换成成员指针。   这样一来,C++的指针就变得很尴尬:我们需要一种指针能够指向同一类型的数据,不管这个数据是普通数据,还是成员数据;我们更需要一种指针能够指向同一类型的函数,不管这个函数是静态函数,还是成员函数。但是没有,至少从现在的C++标准中,还没有看到。 阅读全文
posted @ 2006-03-13 16:34 沐枫 阅读(17178) 评论(8) 推荐(0) 编辑
摘要:在C/C++中,数据指针是最直接,也最常用的,因此,理解起来也比较容易。而函数指针,作为运行时动态调用(比如回调函数 CallBack Function)是一种常见的,而且是很好用的手段。 阅读全文
posted @ 2005-12-17 11:48 沐枫 阅读(25011) 评论(5) 推荐(4) 编辑
摘要: 指针,在C/C++语言中一直是很受宠的;几乎找不到一个不使用指针的C/C++应用。用于存储数据和程序的地址,这是指针的基本功能。用于指向整型数,用整数指针(int*);指向浮点数用浮点数指针(float*);指向结构,用对应的结构指针(struct xxx *);指向任意地址,用无类型指针(void*)。 本文先探讨C++中用于存储各种类型数据的指针。 阅读全文
posted @ 2005-11-28 16:05 沐枫 阅读(19279) 评论(13) 推荐(2) 编辑
摘要:LuaPlus是Lua的C++增强,也就是说,LuaPlus本身就是在Lua的源码上进行增强得来的。用它与C++进行合作,是比较好的一个选择。 阅读全文
posted @ 2005-11-27 11:04 沐枫 阅读(28396) 评论(24) 推荐(1) 编辑
摘要:.NET的类可以用 sealed 关键字来说明一个类是最终类,也就是说不能作为基类,不能被继承。Java也有个相同的关键字final完成同样的功能。这个功能有时候很有用。但是C++没有这个关键字。那如何在C++中实现类似的功能呢? 阅读全文
posted @ 2005-11-27 11:00 沐枫 阅读(1658) 评论(0) 推荐(0) 编辑