iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >对C++11特性支持的C编译器有哪些
  • 785
分享到

对C++11特性支持的C编译器有哪些

2023-06-17 09:06:14 785人浏览 薄情痞子
摘要

今天就跟大家聊聊有关对c++11特性支持的C编译器有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。GCC的下个版本是4.8,以及Clang即将到来的版本是3.3 。如果你使用Vi

今天就跟大家聊聊有关对c++11特性支持的C编译器有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

GCC的下个版本是4.8,以及Clang即将到来的版本是3.3 。如果你使用Visual Studio 2012,你可以安装2012年11月更新支持C++11额外特征的体验版CTP。

我也对V.13.0的Intel C++编译器感到好奇,虽然它还不是预览版并且我也找不到有关它的新特性的信息。我没找到任何有关这个即将发行版本的编译器的信息。

FeatureVS2012
Nov CTP
g++ 4.8Clang 3.3Intel 13.0
autoYesYesYesYes
decltypeYesYesYesYes
Rvalue references and move semanticsYesYesYesYes
Lambda expressionsYesYesYesYes
nullptrYesYesYesYes
static_assertYesYesYesYes
Range based for loopYesYesYesYes
Trailing return type in functionsYesYesYesYes
extern templatesYesYesYesYes
>> for nested templatesYesYesYesYes
Local and unnamed types as template argumentsYesYesYesYes
Variadic MacrosYesYesYesYes
Variadic templatesYesYesYesYes
Default template arguments in function templatesYesYesYesYes
final method keyWordYesYesYesNo
override method keywordYesYesYesNo
Strongly typed enumsYesYesYesPartial
Forward declared enumsYesYesYesPartial
Initializer listsYesYesYesPartial
explicit type conversion operatorsYesYesYesNo
Raw string literalsYesYesYesNo
Forwarding constructorsYesYesYesNo
Template aliasesNoYesYesYes
Defaulted methodsNoYesYesYes
Deleted methodsNoYesYesYes
New built-in typesPartialYesYesPartial
Alignment supportPartialYesYesNo
Inline namespacesNoYesYesNo
sizeof on non-static data members without an instanceNoYesYesNo
Changed restrictions on uNIOn membersNoYesYesNo
User defined literalsNoYesYesNo
Encoding support in literalsNoYesYesNo
Arbitrary expressions in template deduction contextsNoYesYesDon’t know
Non-static data member initializersNoYesYesDon’t know
noexceptNoYesYesPartial
constexprNoYesYesPartial
C99 compatibilityPartialYesPartialYes
Generalized attributesNoYesPartialYes
Thread local storagePartialYesNoPartial
Inheriting constructorsNoYesNoNo
Rvalue references for *thisNoNoYesNo
Minimal support for garbage collectionYesNoNoDon’t know

看起来GCC正取代Clang成为最支持C++11的编译器。Visual Studio已经增加了好几个重要C++11特性,像变参模板,初始化器和原生字。

我真的不能在一个更为细致的层面去评论这些编译器实现到底完成得怎样,还有没有bug。(除了VS2012——我在我的书(《C++11 Rocks》)里详细列出过VS2012最初版本的大量bug)。

看下库的支持情况也是比较有用的。由于各编译器对标准库的支持都有较多小改动,我并不打算对此给出详细的细节。我也打算在这次的比较中省略Intel的库。

我可以说,这些库的主要附件大多由第三方实现提供(随后在下面的表格中展现),尽管这是有各种各样的警告。

微软的库实现中没有那些需求尚未被实现的语言功能的东西,例如 constexpr(如VS2012的最初发行版)。库文件还没有更新,以支持2012年11月在 CTP 提出的编译器功能,如初始化列表和可变参数模板。

GCC 的 libstdc++ 也有些滞后,例如它并不支持正则表达式以及地称并发功能。同样,在很多情况下,它也没有实现 constexpr 方法。

Clang的libc++是100%兼容MacOS的,但是它有部分的特性还不兼容windowslinux

FeatureMSVClibstdc++libc++
Concurrency: async/future/promise/packaged_taskYesYesYes
Concurrency: thread and relatedYesYesYes
Concurrency: condition variablesYesYesYes
Concurrency: mutexesYesYesYes
Concurrency: atomic types and operationsYesYesYes
Concurrency: relaxed memory ordering and fencesYesNoYes
Smart pointersYesYesYes
TuplesYesYesYes
std::bindYesYesYes
std::functionYesYesYes
Regular expressionsYesNoYes
Type traitsYesPartialYes
std::forward_listYesYesYes
std::arrayYesYesYes
Hash tablesYesYesYes
Random number generationYesYesYes
Compile time rational numbers (ratio)YesYesYes
Time utilities (chrono)YesYesYes
Initializer listsYesYesYes
Diagnostics (system_error)YesYesYes
STL refinements and new alGorithmsYesYesYes
General purpose (move, forward, declval etc.)YesYesYes

比较高兴的是能看到语言和库的支持在稳步改善。Clang和GCC距离完全支持C++11已经很近了。Visual Studio同样在改善对C++11的支持,令我感到欣慰的是C++编译器的更新都是在主分支上。这份Intel的编译器特征支持列表也越来越多。

看完上述内容,你们对对C++11特性支持的C编译器有哪些有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网其他教程频道,感谢大家的支持。

--结束END--

本文标题: 对C++11特性支持的C编译器有哪些

本文链接: http://www.lsjlt.com/news/288052.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 对C++11特性支持的C编译器有哪些
    今天就跟大家聊聊有关对C++11特性支持的C编译器有哪些,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。GCC的下个版本是4.8,以及Clang即将到来的版本是3.3 。如果你使用Vi...
    99+
    2023-06-17
  • C++11常用的特性有哪些
    今天小编给大家分享一下C++11常用的特性有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。C++ 是一个拥有用户群体相当...
    99+
    2023-06-27
  • C++11、C++14、C++17、C++20常用新特性有哪些
    这篇文章主要介绍“C++11、C++14、C++17、C++20常用新特性有哪些”,在日常操作中,相信很多人在C++11、C++14、C++17、C++20常用新特性有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对...
    99+
    2023-07-05
  • c++面向对象的特性有哪些
    C++面向对象的特性有以下几个: 封装(Encapsulation):将数据和操作数据的函数封装在一起,形成一个类,对外部使用者...
    99+
    2023-10-24
    c++
  • C++编译器命令有哪些
    这篇文章给大家分享的是有关C++编译器命令有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。快要被VC6.0的编译器给搞疯了,按照自己的编码速度,今天因该把驱动通讯模块基本通过编译,但是没有想到的是,VC6.0...
    99+
    2023-06-17
  • c#的特性有哪些
    本篇文章给大家分享的是有关c#的特性有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1. ObsoleteAttributeObsoleteAttribute 适用于除组件...
    99+
    2023-06-15
  • C++的test特性有哪些
    这篇文章主要介绍“C++的test特性有哪些”,在日常操作中,相信很多人在C++的test特性有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++的test特性有哪些”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-17
  • C# 10的特性有哪些
    小编给大家分享一下C# 10的特性有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!常量的内插字符串C# 10 允许使用在常量字符串初始化中使用插值, 如下co...
    99+
    2023-06-22
  • C#支持的位运算符有哪些
    本篇内容主要讲解“C#支持的位运算符有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#支持的位运算符有哪些”吧!位运算符位运算符作用于位,并逐位执行操作。&、 | 和 ^ 的真值表...
    99+
    2023-06-17
  • c语言在线编译器有哪些
    流行的 c 语言在线编译器包括 c compiler、codechef ide、replit、wandbox 和 tutor,选择时应考虑语言支持、功能、易用性、平台支持和社区支持等因素...
    99+
    2024-04-04
    c语言 c++
  • c语言编译器软件有哪些
    c 语言编译器是一种将 c 语言源代码转换为机器可执行代码的程序,常见的软件包括 visual studio、xcode、gcc 和 clang。选择编译器时考虑因素包括平台兼容性、功能...
    99+
    2024-04-04
    linux c语言 macos
  • C++11中和动态数组相关的新特性有哪些
    本篇内容介绍了“C++11中和动态数组相关的新特性有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!使用初始化列表初始化可以像一般的数组一...
    99+
    2023-06-19
  • C#3.5新特性有哪些
    这篇文章主要介绍了C#3.5新特性有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一.C#3.5新特性-var关键字关键字var,是否让您想起了JavaScript中的定...
    99+
    2023-06-18
  • C#10新特性有哪些
    本篇内容主要讲解“C#10新特性有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#10新特性有哪些”吧!1、Natural types for lambdasC# 10 可以更好做类型推断...
    99+
    2023-06-25
  • C++语言有哪些特性
    本篇内容主要讲解“C++语言有哪些特性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++语言有哪些特性”吧!Visual C++调试技术检查代码直到头晕眼花也没有发现错误,一运行程序就死机,只...
    99+
    2023-06-17
  • C++14有哪些新特性
    这篇文章主要讲解了“C++14有哪些新特性”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C++14有哪些新特性”吧!「函数返回值类型推导」C++14对函数返回类型推导规则做了优化,先看一段代...
    99+
    2023-06-16
  • C#支持的算术运算符有哪些
    本篇内容主要讲解“C#支持的算术运算符有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#支持的算术运算符有哪些”吧!算术运算符下表显示了 C# 支持的所有算术运算符。假设变量 A...
    99+
    2023-06-17
  • C语言最常用的编译器有哪些
    C语言有很多常用的编译器,以下是一些主要的编译器:1. GCC(GNU Compiler Collection):GCC是一个自由软...
    99+
    2023-09-08
    C语言
  • C++ 函数的函数式编程特性有哪些?
    c++++ 支持函数式编程特性,包括:纯函数:使用 const 修饰符声明,不修改输入或依赖外部状态。不可变性:使用 const 关键字声明变量,无法修改其值。惰性求值:使用 std::...
    99+
    2024-04-11
    c++ 函数式编程
  • c++在线编译的方法有哪些
    有许多在线C++编译器可以用来编译和运行C++代码,以下是一些常用的在线C++编译器: Ideone:https://ideone...
    99+
    2024-03-04
    c++
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作