acgnsstech
V2EX  ›  问与答

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

  •  1
     
  •   acgnsstech · Dec 6, 2017 · 4624 views
    This topic created in 3260 days ago, the information mentioned may be changed or developed.
    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 支持。
    24 replies  •  2017-12-07 10:12:23 +08:00
    trys1
    trys1
    Dec 6, 2017 via Android
    1
    自从遇见了 go
    fyooo
    fyooo
    Dec 6, 2017
    2
    然而我厂还是用 C++11
    geelaw
    geelaw
    Dec 6, 2017❤️1
    3
    不懂现在的翻译是什么情况—— deduction 是推导,不是归约,归约是 reduction。
    geelaw
    geelaw
    Dec 6, 2017
    4
    以及“ GCC 和 LLVM/Clang 都有效地提供了完整的 C++ 17 支持。”这话未免说得太满
    vvvvzhang
    vvvvzhang
    Dec 6, 2017
    5
    c++...
    再简单也是中级语言,比高级语言难太多了。。。
    harry890829
    harry890829
    Dec 6, 2017
    6
    @fyooo #2 我还在用 c++98 标准……
    soli
    soli
    Dec 6, 2017❤️1
    7
    CentOS 制约着 C++ 新标准的推广。

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

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

    现在的运维用 docker 嗨的飞起,还不是一样没有源代码。
    sfqtsh
    sfqtsh
    Dec 6, 2017 via Android
    17
    支持
    CYKun
    CYKun
    Dec 6, 2017 via Android
    18
    C++为什么这么喜欢折腾语法?
    redsonic
    redsonic
    Dec 6, 2017
    19
    智商低了看不懂的语言。 到 C+3X 的时候估计只有大佬和 AI 在写 C++代码给自己打 patch。
    Tardis0127
    Tardis0127
    Dec 6, 2017
    20
    Less is more. C++ 过分了
    skadi
    skadi
    Dec 6, 2017
    21
    @geelaw c++17 全部特性,gcc7 和 clang5.0 已全部支持.
    gnaggnoyil
    gnaggnoyil
    Dec 6, 2017
    22
    @Tardis0127 相比于 Cpp 要解决的问题而言 Cpp 已经很 less 了.
    如果能够卸掉从上古时代的 C 中来的历史包袱的话还能更短点的呢.虽然这基本不可能就是了.
    caola
    caola
    Dec 6, 2017
    23
    centos 虽然躺枪了,也怪它默认的软件版本都相对比较低。
    个人觉得还是 debian 的好用。
    zke1e
    zke1e
    Dec 7, 2017
    24
    还好我写 C++ 顶多就用到模版,大多数时候就当一个支持对象的 C 来写
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4248 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 327ms · UTC 03:34 · PVG 11:34 · LAX 19:34 · JFK 22:34
    ♥ Do have faith in what you're doing.