首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新的C++11类似于python 2 ->3?

新的C++11类似于python 2 ->3?
EN

Software Engineering用户
提问于 2013-05-22 17:06:08
回答 2查看 567关注 0票数 3
  1. 我是一名Python2开发人员,我刚刚从Bjarne那里订购了C++编程语言,第4版来学习C++11,但就在我订购它之后,我开始怀疑自己是否犯了错误。对C++在C++11中所做的更改是否类似于Python如何从2迁移到3,因为代码显着地中断并且不向后兼容?还是学习C++11是安全的?
  2. 如果我用C++11在XCode中编码,最新的版本无论是什么,它会在一台Windows机器上工作吗?或者,这更多地取决于编译代码的内容,相当肯定的是,XCode使用的是LLVM。
EN

回答 2

Software Engineering用户

回答已采纳

发布于 2013-05-23 02:20:48

C++11比Python3000更具破坏性。

它的破坏性较小,因为它包含较少的破坏变化和那些打破的变化是很少遇到的。

它更具有破坏性,因为它将极大地改变用C++编写代码和设计系统的方式。Python 3中的程序大多是按照Python 2中的方式编写的,这些变化大多是清理的,比如去掉旧的样式类。C++11 OTOH包含了一些功能,可以极大地改变您编写代码的方式:例如,内存模型、标准库并发原语、lambda文本和类型推断的组合,允许在语法上和概念上以Clojure或Haskell的方式进行轻量级的高级并发。

票数 12
EN

Software Engineering用户

发布于 2013-05-22 17:11:18

C++98/03中有一些不受欢迎的特性,如auto_ptr、“寄存器”关键字等等。但在大多数情况下,如果您在C++98下编译的代码对C++11来说是可以的。唯一的突破是新的关键字(以及auto关键字的重用)。所以,除非您编写了使用以下语句的C++98代码

代码语言:javascript
复制
auto int x = 5; // auto means "on the stack"

或者使用关键字'decltype‘或'nullptr’等作为变量名,您的代码在C++11下应该很好。

编辑:正如前面提到的,有更多的突破性更改,但它们不会影响平均C++98代码库。我记得我听过一个故事,讲述他们如何选择关键字'auto‘进行类型推断(不能保证它是真实的):每次关键字出现在许多大型代码库中时,他们都会做一次计数,并确定C 'auto’关键字基本上没有使用。例如:他们非常重视向后兼容性。

票数 8
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/199054

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档