代码之家  ›  专栏  ›  技术社区  ›  Victor Liu

官方C++语言子集

  •  9
  • Victor Liu  · 技术社区  · 15 年前

    我主要使用C++来进行科学计算,最近我一直把自己限制在一个非常类似于C++特性的子集;即,除了复杂和STL之外,没有类/继承,模板只用于查找/替换各种替换,还有一些其他的东西我无法用语言来表达。我想知道是否有任何官方或有良好记录的C++语言的子集,当我选择和选择使用哪些特性时,我可以查看参考(以及理由)。

    6 回复  |  直到 6 年前
        1
  •  4
  •   Carl Norum    15 年前

    Embedded C++ . 听起来和你要找的差不多。

        2
  •  4
  •   Gabriel Ščerbák    15 年前

    不久前我听了这个SE广播播客- Episode 152: MISRA with Johan Bezem ,它介绍了MISRA,C和C++的标准指南,以确保更好的质量,尝试看它。

        3
  •  3
  •   Greg Sadetsky    6 年前

    谷歌发布其内部C++风格指南,通常被称为这样的子集: https://google.github.io/styleguide/cppguide.html . Ben Maurer,其公司recaptcha被谷歌收购,描述如下 in this post on Quora :

    你基本上可以想到谷歌的 C++子集作为C加一点糖:

    向结构添加方法的能力

    基本的单一继承。

    集合和字符串类

    基于范围的资源管理。

    他们还发布了一个lint工具, cpplint.py.

        4
  •  2
  •   Malte Clasen    15 年前

    GCC开发人员将允许使用一些C++特性。我还不知道任何官方的指导方针,但是我很确定他们会定义一些。看一看 initial report 在邮件列表上。

        5
  •  0
  •   Andrei Sosnin    15 年前

    在C++中最新的开发(Tr1,C++0x)使它非常通用,允许你在C++中执行命令、OOP或者甚至是有限的函数编程。像boost这样的库还允许您执行非常强大的基于声明性模板的元编程。

    我认为Boost是在C++中尝试的第一件事。它是一个综合性的库,它还包括几个模块,使您能够以函数式(boost.functional)编程或进行编译时声明性元编程(boost mpl)。

        6
  •  0
  •   Community Mohan Dere    8 年前

    OpenCL已经使用C来编写内核,但是他们最近添加了(或将很快添加)C++绑定和Java。opencl遗漏了C的许多性能抢夺特性。排除的特性包括函数指针和递归。智能指针和多态性也会产生开销。

    对C的限制: SIMD programming languages

    稍微偏离主题:这里是一个比较OpenCL和使用C的CUDA的好讨论。 OpenCL or CUDA Which way to go?