C++17 标准正式发布:开发者可更简单地编写和维护代码 为什么我感觉越来越不能简单地编写代码了呢?/??

2017-12-06 09:54:35 +08:00
 acgnsstech
C++ 17 是对 C++ 语言的重大更新,引入了许多新的语言特性:

UTF-8 字符文字

折叠表达式 (fold expressions):用于可变的模板

内联变量 (inline variables):允许在头文件中定义变量

在 if 和 switch 语句内可以初始化变量

结构化绑定 (Structured Binding):for (auto [key,value] : my_map) {…}

类模板参数规约 (Class Template Argument Deduction):用 pair p{1, 2.0}; 替代 pair<int, double>{1, 2.0};

此外,C++ 17 还带来了并行 STL,派生自 Boost 的文件系统库等其他特性。


GCC 和 LLVM/Clang 都有效地提供了完整的 C++ 17 支持。
3634 次点击
所在节点    问与答
24 条回复
trys1
2017-12-06 10:01:36 +08:00
自从遇见了 go
fyooo
2017-12-06 10:18:50 +08:00
然而我厂还是用 C++11
geelaw
2017-12-06 10:43:20 +08:00
不懂现在的翻译是什么情况—— deduction 是推导,不是归约,归约是 reduction。
geelaw
2017-12-06 10:43:34 +08:00
以及“ GCC 和 LLVM/Clang 都有效地提供了完整的 C++ 17 支持。”这话未免说得太满
vvvvzhang
2017-12-06 11:19:13 +08:00
c++...
再简单也是中级语言,比高级语言难太多了。。。
harry890829
2017-12-06 11:23:00 +08:00
@fyooo #2 我还在用 c++98 标准……
soli
2017-12-06 11:30:03 +08:00
CentOS 制约着 C++ 新标准的推广。

待过的公司几乎都用 CentOS 做线上系统,而 CentOS7 最新的 GCC 是 4.8。
这个版本的 GCC 连 C++11 都支持不全呢。
shanechiu
2017-12-06 11:32:51 +08:00
@soli 源码安装 GCC 不行吗?
shanechiu
2017-12-06 11:34:08 +08:00
@acgnsstech 新特性有什么好处?其实我还在学习 C++11 了
wwqgtxx
2017-12-06 11:47:10 +08:00
@soli 部署上编译好的二进制不就得了
BigNerd
2017-12-06 11:47:19 +08:00
还记得几年前写 C++ 11 的场景,后来转方向了。不得不说能把 C++ 写到一般意义上的好,我都非常佩服。
3dwelcome
2017-12-06 11:47:54 +08:00
@soli 这个锅 centos 表示不背。这世界上有个叫 cross compiler 的。
coderluan
2017-12-06 11:53:23 +08:00
个人观点:
将来要么 C 语言(偏性能,可以带点 C++扩展),要么 Java/Python/Go (偏效率),C++想两全齐美,实际上已经跑偏了。
soli
2017-12-06 11:55:41 +08:00
@wwqgtxx
@3dwelcome

我不相信你们能说服运维部门这么干。
vegito2002
2017-12-06 12:01:04 +08:00
@coderluan 我现在其实也是这个路线. 不过我是 Python 换 Swift.
3dwelcome
2017-12-06 12:07:01 +08:00
@soli 有啥不能说服的,cross-compiler 就是非源码发布二进制执行包而已。

现在的运维用 docker 嗨的飞起,还不是一样没有源代码。
sfqtsh
2017-12-06 12:19:53 +08:00
支持
CYKun
2017-12-06 13:49:20 +08:00
C++为什么这么喜欢折腾语法?
redsonic
2017-12-06 14:55:13 +08:00
智商低了看不懂的语言。 到 C+3X 的时候估计只有大佬和 AI 在写 C++代码给自己打 patch。
Tardis0127
2017-12-06 16:42:06 +08:00
Less is more. C++ 过分了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/412368

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX