代码之家  ›  专栏  ›  技术社区  ›  John MacIntyre

过去十年中C++是如何变化的?[关闭]

c++
  •  18
  • John MacIntyre  · 技术社区  · 14 年前

    在过去的十年中,我几乎不使用C++,现在看来我又会在其中做一些事情了。我很期待它的出现,但是我想知道自从我上次使用它以来它有什么变化。

    有没有好的/简短的网页,博客文章,甚至是关于C++在过去十年中如何改变的书?

    6 回复  |  直到 14 年前
        1
  •  17
  •   John MacIntyre    14 年前

    • 虽然它还不是官方标准,但即将出台的新标准(通常称为C++ 0x)即将到来。GCC和MSVC 2010已经包含了新标准的重要部分,但我不确定有多少是通用的。
    • 这个 Boost library 已经成为为该语言提供额外支持的主要参与者,以至于它对新标准产生了重大影响
    • 编译器(尤其是微软的)在遵守标准方面取得了长足的进步
        2
  •  11
  •   user3458    14 年前

    最大的变化是C++标准实际上在所有主要编译器中都有作用。像成员模板这样的东西过去是不确定的。

        3
  •  10
  •   John MacIntyre    14 年前

    语言本身变化不大。然而,最佳实践和习惯用法做了很多工作。

    C++ Coding Standards: 101 Rules, Guidelines, and Best Practices “萨特和Andrei Alexandrescu的作品,看看今天的C++是什么样子的。

        4
  •  9
  •   the_mandrill    14 年前

    我认为最大的变化之一是心态:很多人(终于!)意识到模板功能强大,不需要太慢,STL和boost的使用比10年前更为广泛。

        5
  •  2
  •   John MacIntyre    14 年前

    TR1 ,它是对std的一个大的添加,包含静态数组、引用计数指针等等。除此之外,最大的变化只是编译器如何编译标准定义。

        6
  •  2
  •   please delete me please delete me    14 年前

    温习一下现代时尚是个好主意,因为十年前有些稀罕的东西(智能指针、RAII的常规使用、标准库容器等)现在更为普遍。但是,除非你确信你将要使用的代码是用模板和boost之类的东西装饰的,否则你很有可能使用与你以前使用的非常相似的东西。

    也许我走错了方向,但我的经验是,那些不使用、不能使用或不愿使用现代风格编写代码的人的数量远远超过了那些可能使用现代风格编写代码的人。而那些可能会这样做的人,通常不会,因为他们寡不敌众。他们的代码被重写,或者被忽略,直到他们开始写别人能理解的东西。所以这可能是好的,也可能是坏的——在我看来,这几乎不相关,因为结果是一样的:如果你的经历和我一样,你很有可能遇到今天的代码,这与你在1999年看到的非常相似。

    附笔。 Nicolai Josuttis Modern C++ Design (Alexandrescu) --现在可能有点过时了,但它解释了很多原则。 Herb Sutter's Exceptional C++ boost 演示了在一系列编译器上实施的所有这类事情(以及更多——然后是一些额外的材料)。

    (希望上面的清单不要太过时;正如我的答案可能会指出的,我发现,在C++中最新的趋势比我以前所期望的要少得多。