我知道这听起来像是一个基于观点的问题,但我认为它足够具体,因为这是一个关于现实C++实现的问题。
我是一名大学数学学生,我一直在努力教自己C++,我想在一个使用它的环境中找到一份入门级的编程工作。我一直在学习“C++ Primer,第六版”这本书,我认为这是一本很棒的书,因为它深入到了很多关于机器级发生的事情的细节中,并且深入到了C的历史和所有那些帮助我成为“真正”程序员的细节上。
我申请了一些看起来很适合我的工作,比如任天堂的入门级C++程序员。似乎很多游戏公司都在使用C++。
事情是这样的:我以基于指针的方式学习了C++,因为我的书就是这样教它的。我很清楚,从阅读堆栈溢出和查看web上其他地方的代码示例来看,C++11提供了高级语言功能,比如使用auto来迭代数据结构的元素。
所以我在想,如果我在任天堂接受采访的话
for (std::vector::iterator it1(V.begin()), it2(V.end()); it1 != it2; ++it1)而不是
for (auto it : V)我会被抛出面试并嘲笑吗?使用基于指针的代码是否过时?我的大脑被训练成以C++ Primer的方式做事,那就是迭代器/指针。我知道这很好,但是为了实用起见,我应该习惯做C++11吗?
发布于 2014-04-26 17:26:07
如果问题是这样的话,您不会因为不使用C++11而被抛弃。我知道很少有公司(以及C++开发人员)真正使用它。在C++11成为事实上的标准之前,还需要时间。
不管怎么说,对于初级职位来说,你不应该那么担心。与其把注意力集中在一个有用的代码上,不如把注意力放在一个花哨的代码上。
https://stackoverflow.com/questions/23314218
复制相似问题