error: jump to label crosses initialization [-fpermissive]

今天在编译 C++ 的时候出现了这个错误。代码里有 goto 这个恶心的东西:

[lineno]: error: jump to label ‘...’ [-fpermissive]
[lineno]: error: from here [-fpermissive]
[lineno]: error: crosses initialization of ‘...’

于是在 stackoverflow [1] 上查到了相应的原因,简单归结为两点:

1) goto 不能跨作用域使用;
2) goto 不能使用在任何同作用域变量声明之前。

当然,还有永恒不变的真理:

永远不要用 goto

 

[1] Statement goto can not cross pointer definition?. Stackoverflow. http://stackoverflow.com/questions/14274225/statement-goto-can-not-cross-pointer-definition

[蛋疼的总结]各种语言取子字符串总结

前段时间碰到一个代码review,其中一个bug是关于java的substring的。java的substring作为一个String类下的函数,对于Java的熟练工来说,应当是了如指掌的,可是在我的记忆中生生地搞错了substring原来是不允许越界的。

我必须要为满脑袋浆糊的原因做出一个解释,那就是我发现substring函数,也就是取子字符串函数,虽是一个几乎所有语言都会提供的基本得不能再基本的库函数,但有趣的是,各家对于这个函数的设计差别很大,在一些语言中,利用一些基本类型的差别,很巧妙地解决了这个问题。

Google 2013 校园招聘笔试题心得

鉴于最近在百度文库看到侵权性质的转载并索要积分的情况,以及百度对投诉的消极回应
(如 ID 为 594325551 的 http://wenku.baidu.com/view/5aa818dda58da0116c17498b.html ),
对这家公司的态度表示极度失望。在此郑重重申:
除特别说明外,本站所有文章和作品采用 BY-NC-SA 3.0 Unported License 进行许可。
在该协议下,仅允许非商业性质的转载和演绎,且必须注明来源和作者。

 

昨天晚上去蹭了一下Google的招聘笔试。其实是去打酱油的,主要是为了感受一下Google的出题风格和考试氛围,可以对将来找工作提供些参考。

回来之后本来想回忆一下题目的,结果发现braveheart89大大已经贴出了所有的题而且连选项都一字不差,记忆力真心佩服……以下就根据他写的题目稍微修正一下[1],然后随便说说好了。(说的也不一定对,欢迎更正。)

考试是第一页需要填写个人信息,包括实习经历、获奖情况、工作地点意向(国内、国外还是两者皆可之类,反正对我无用啦-.-)然后就是一个半小时的答题,全部手写。

[变态的C++]“迷路”的函数调用错误

为了世界和平,人类发展,社会和谐,请面试官和C/C++老师绕道,灰常感谢。

===================割===================

相信你也同意C++是一门很变态的语言,不同意的话,不妨尝试下这个问题(据说是个面试题):

在C++中,我们调用了某个函数,但实际执行情况是“调用错了”,就是说没有执行你所期望的那个函数,调用发生了错误,考虑这是为什么?

具体地来说,就是我们在一个类上定义两个函数,我们调用了一个函数,执行的却是另一个函数。我们假设编译器是没有bug的,它知道它在干什么,它试图连接的函数和您的期望是一样的。另外,不要直接读写内存区域。

好吧,首先希望您能静下心来想一想这个问题,我建议你暂时先把本站放入收藏夹,然后想清楚了再继续看。如果您实在感到匪夷所思,您可以先无视我前面提到的一些条件。另外作为善意提醒,我建议您还是要尝试编写代码,我在撰写本帖时,一些想到的方案最后费了很长的时间才最终实现。

C++学习笔记

因为各种各种,最终决定放弃自己的域名,关掉原来的博客。好在鱼尾童鞋盛情力邀我合写这个博客,写写技术文章,感觉也挺不错的,于是就寄居到这里来了。虽然我不是什么技术达人,写的东西也不全是原创。但毕竟问道有先后,术业有专攻,对于我这个业余时间敲点代码的人,这些都是自己的经验总结,对于我自己十分宝贵,也愿意拿出来与各位分享。

第一篇文章是原来博客上发过的,虽然博客关了,但这篇文章被保存了下来。内容是我学到的一些C++的知识,参考的文献已经不记得了,只是小小的引用,希望没人会告我侵权。(要告我的希望您先留个言好让我删掉,给我一个改过自新的机会,哈:))