
C++
文章平均质量分 70
rednaxelafx
这个作者很懒,什么都没留下…
展开
-
又一面试题,又一伪命题 - 关于C中字符数组逆序的方法
最近土豆同学经常去参加各种面试和笔试,而我也获益不少,得以见识到这些"题目"的诡异.这次听到的,是一个关于C语言中字符串逆序的问题.问题的核心是: 用什么办法,可以最高效的把一个char[]内容的顺序逆转? 最好是不用额外的存储空间.我陷入了沉思.土豆同学问我的时候,一再强调既不需要用"额外的存储空间,也不需要加减或者异或运算";跟算法没关系,而是与类似语言特性的特性相关.想想也是,要逆序...2007-10-21 19:46:21 · 157 阅读 · 0 评论 -
C++里用typedef struct...
今天要写个东西,参照的一段C++代码里看到了诡异的东西,形式类似:[code="c++"]typedef struct A { // ...} A;[/code]注意是C++哦。跟C不同,C++里用struct语法声明了类之后直接用类名就可以声明变量/参数了,而不必像C一样要写struct+结构体名,所以也就没有typedef的必要。上面这种typedef虽然无害,但毕竟...原创 2010-06-12 14:42:30 · 130 阅读 · 0 评论 -
delete NULL会怎样?
原文在此:[url=http://blog.aggregatedintelligence.com/2009/04/can-you-delete-null-pointer.html]Can you delete a NULL pointer?[/url]没全转过来,只是留个记录。根据目前的C++草案,[url=http://www.open-std.org/Jtc1/sc22/wg21/...原创 2009-04-22 10:03:21 · 993 阅读 · 0 评论 -
确定性析构在有指针的环境下的麻烦之处
刚考完大软,心里还在郁闷,随便发点牢骚吧……昨天同学考C++的时候还有一题,是找出程序错误的题。代码大概是这样:[code="cpp"]class A { int i;};class B { A* p;public: B() { p = new A; } ~B() { delete p; }};void foo(B b...2008-05-16 11:26:36 · 141 阅读 · 0 评论 -
typename关键字的使用
忘了……模板啊忘光了 T T今天有同学考C++,后来问了我一个问题:要写一个Set类,支持拷贝构造函数、+=、-=、=、2008-05-15 11:31:03 · 255 阅读 · 0 评论 -
又是宏……do..while(0)的用法
真是的,我用C++还是太少了。这个宏以前明明见过的,但其存在的意义突然就想不起来了。刚才问了下axx大才又“知道”了一次。赶紧记下来。这样的宏见过么:[code="cpp"]#define FOO(x) do {\ some_code_line_1;\ some_code_line_2;\} while (0)[/code](注意while(0)后面没有分号...2008-05-04 20:24:38 · 141 阅读 · 0 评论 -
火星了,今天才知道C++0x也通过了lambda表达式/闭包的提案
如题。我总是后知后觉诶。不过这提案有意思……之前我在[url=http://rednaxelafx.iteye.com/blog/177604]C#与Ruby 1.8在作用域与闭包上的比较[/url]的回复里还说C++没有闭包所以不知道它是什么东西也没关系,反正也用不了。这在当前的C++里是没错,不过未来版本的C++里我们也能用到闭包了。按照C++98(或者叫ISO/IEC 14882...2008-04-16 19:31:06 · 104 阅读 · 0 评论 -
将ANTLR生成的.tokens文件重格式化(C++版)
相关链接:[url=http://rednaxelafx.iteye.com/blog/176731]将ANTLR生成的.tokens文件重格式化(Ruby版)[/url][url=http://rednaxelafx.iteye.com/blog/177092]将ANTLR生成的.tokens文件重格式化(C#版)[/url]先前写了Ruby的版本,链接在上面。作为对比,我很想看...2008-03-28 02:02:29 · 277 阅读 · 0 评论 -
奇怪的宏
我C++确实不怎么样,不过近来不得不再唤醒那远古的记忆……即使光看代码也得要C++。好吧,于是我需要wide版的__DATE__和__TIME__之类。但是那俩宏都是char*而不是wchar_t*的,咋办?用L来转换?直接转的话,不行。L__DATE__本身是一个有效的id,但却没这东西存在。用一个宏:[code="cpp"]#define WIDEN(x) L##x...2007-11-05 22:19:49 · 115 阅读 · 0 评论 -
字符串的一般封装方式的内存布局 (0): 拿在手上的是什么
(Disclaimer:未经许可请勿转载。如需转载请先与我联系。作者:RednaxelaFX -> rednaxelafx.iteye.com)字符串的一般封装方式的内存布局系列:(0): 拿在手上的是什么[url=http://rednaxelafx.iteye.com/blog/1969861](1): 元数据与字符串内容,整体还是分离?[/url]原本我写这个是作...原创 2013-11-04 18:22:06 · 176 阅读 · 0 评论