牙龈肿痛吃什么药好得快| 什么的粉墙| 三月份有什么节日| 血糖偏低是什么原因引起的| 性冷淡吃什么药| 9价疫苗适合什么年龄人打| 什么是全日制本科| 蛋白肉是什么东西做的| 什么是想象力| 降噪是什么意思| 肠易激综合症吃什么药| u盾是什么| 男性长期熬夜吃什么好| 1988是什么年| 埋线是什么| 中医治未病是什么意思| 咽喉炎吃什么药管用| 为什么说秦始皇还活着| 真丝衣服用什么洗最好| 下面痒用什么药效果好| 宋五行属什么| 心慌是什么感觉| 怀孕第一个月有什么特征| 黄疸高有什么危害| cindy英文名什么意思| 今年24岁属什么生肖| 五月二十四号是什么星座| 黑五是什么时候| 舍利子到底是什么| 红薯和什么不能一起吃| 四叶草是什么意思| 劳作是什么意思| 伊朗用什么货币| 胃动力不足吃什么中成药| geya是什么牌子的手表| 奥美拉唑主要治什么| 熬夜对身体有什么危害| 消化内科主要看什么病| 胆囊大是什么原因| 孩子胃疼吃什么药| 肚子疼拉肚子吃什么药| 吃猪肝有什么好处| 肠镜检查挂什么科室| bv是什么牌子| r代表什么意思| 降头术是什么| 变态反应是什么意思| 三更是什么生肖| 尿细菌计数高是什么原因| 结膜出血用什么眼药水| 人性是什么意思| 金针菇为什么叫明天见| 身份证号码代表什么| 儿童弱视是什么原因引起的| 肋骨骨折挂什么科| 痦子和痣有什么区别| 4月份是什么星座| 肚子不舒服挂什么科| modern是什么牌子| 盆腔炎吃什么药最有效| 乙肝表面抗体弱阳性是什么意思| 吉人天相好福气指什么生肖| 脸上长藓用什么药| 为什么癌症治不好| 男性漏尿是什么原因| 未见明显胚芽是什么意思| 爸爸的哥哥叫什么| 广东有什么特产| 头七有什么规矩| 妇科支原体感染吃什么药| 粉饼和散粉有什么区别| 奶奶和孙女是什么关系| dsa什么意思| 舌头边缘有齿痕是什么原因| 什么属于| 夏天脚开裂是什么原因| 轻医美是什么| 草字头加弓念什么| dtc什么意思| 关节炎看什么科| 米果念什么| 喝什么缓解痛经最有效| 自律什么意思| 驰骋沙场百战威是什么生肖| 经期头疼是什么原因怎么办| 殇读什么| 烧钱是什么意思| 一个口一个女念什么| vertu手机为什么那么贵| 拉尿有泡泡是什么原因| 手指甲有黑色条纹是什么原因| 牛子什么意思| 喝酒为什么会吐| 体检去医院挂什么科| 希特勒为什么杀犹太人| 被鬼缠身有什么症状| 爽字代表什么生肖| 为什么心细的男人危险| 黑糖和红糖有什么区别| 晚上9点到11点是什么时辰| 小浣熊吃什么| 呕心沥血是什么意思| 少白头是什么原因| 冶阳萎什么药最有效| 绝膑而亡是什么意思| 渡人是什么意思| 卑劣是什么意思| 02年属什么的| score是什么意思| 自己买什么药可以打胎| 水光针是什么| 阑尾为什么会发炎| 子宫肌瘤吃什么药好| 504是什么意思| 东北冻梨是什么梨| 蛀牙的早期症状是什么| 龙虾不能和什么一起吃| 洗面奶和洁面乳有什么区别| 吃什么流产最快| 缺铁性贫血吃什么药| 脑梗是什么原因造成的| 鱼死了有什么预兆| 红豆为什么代表相思| 女人肾虚吃什么补回来| 女性排卵期有什么表现| 更年期什么时候结束| 老花眼视力模糊有什么办法解决吗| 芥末是什么植物| 睾丸疼是什么原因| 心口疼挂什么科| 胃在什么位置| 3月1号是什么星座| 胸口堵是什么原因| 神经官能症挂什么科| 平坦的反义词是什么| 中位生存期什么意思| 小妹是什么意思| 老花眼是什么原因引起的| gpa什么意思| 小孩拉肚子吃什么药效果好| 甲氧氯普胺片又叫什么| 肌酐高是什么原因| 来来来喝完这杯还有三杯是什么歌| 左侧卵巢囊性回声是什么意思| 管型尿是什么意思| gucci是什么意思| 养肝护肝吃什么食物好| 淋巴结用什么药效果好| 拿手机手抖是什么原因| 低钾血症是什么病| 土豆炒什么好吃| 年抛是什么意思| 阴唇为什么会长痘痘| 什么充电宝能带上飞机| 专情是什么意思| 右手小指戴戒指什么意思| 腰扭伤吃什么药| 无力感什么意思| 为什么射出来的精子是黄色的| 脸痒是什么原因| 1957年属什么生肖| 属猴女和什么属相最配| circles是什么意思| 牙龈出血用什么牙膏| 痛经吃什么| 大意失荆州是什么意思| 烟雾病是什么原因引起的| 菱角什么时候成熟| 作茧自缚是什么意思| 小孩咳嗽吃什么药效果最好| 凶狠的反义词是什么| 外耳道疖肿用什么药| 蓝颜知己什么意思| 医保报销需要什么材料| 孩子流黄鼻涕是什么原因| 丛林之王是什么动物| 出人头地是什么意思| 嗓子有痰是什么原因| 什么风什么什么| 什么牌空调好用又省电| 书字五行属什么的| 讹人是什么意思| 没有奶水怎么办吃什么能下奶| 梦到和别人吵架是什么意思| fomo是什么意思| 孙策是孙权的什么人| 人生格言是什么| 血热皮肤瘙痒吃什么药| 喜结连理是什么意思| 吃什么不胖反而瘦| 体检需要带什么| 芈月传芈姝结局是什么| as是什么意思| 西瓜与什么食物相克| 女人左下巴有痣代表什么| 轻微食物中毒吃什么药| 闲云野鹤是什么意思| 双相是什么意思| 家里有蚂蚁是什么原因| 什么叫贵妃镯| 外围是什么| 洗耳朵用什么药水| 七月二号是什么日子| 柬埔寨是什么国家| 性病是什么| 晕3d是什么原因| 咖啡有什么作用和功效| 为什么会长粉刺| 为什么插几下就射了| 什么是潮汐车道| 卫生纸属于什么垃圾| 鸭肉煲汤放什么材料好| 地球是什么| 陈醋和香醋有什么区别| 什么是规培生| 绿豆汤什么颜色| 小孩发烧可以吃什么水果| 犀利哥什么意思| 乳头为什么是黑的| 巴基斯坦用什么语言| 3.15什么星座| 经常打嗝是什么原因| srpl是什么药| 石榴石一般什么价位| 心脏病是什么症状| ip是什么意思| 霞字五行属什么| gi值是什么| bug是什么意思网络用语| 眼睛老是肿着是什么原因造成的| 河南有什么大学| 病字是什么结构| 上善若水下一句是什么| 牙龈肿痛吃什么药最好| 麻豆是什么| 一孕傻三年是什么意思| 可见原始心管搏动是什么意思| 痔疮瘙痒用什么药| apm是什么意思| us什么意思| 什么是紫癜| 路旁土命什么意思| 睾酮素低了有什么症状| 白色念珠菌是什么病| 麂皮是什么材质| vct是什么意思| 大便失禁是什么原因| 梦见好多蛇是什么预兆| 属狗的守护神是什么菩萨| 福寿螺有什么寄生虫| 大便粘便池是什么原因| 1964年出生属什么| 减肥期间晚上可以吃什么| 胚由什么发育而来| 移动迷宫到底讲的什么| 思密达韩语是什么意思| 慢性浅表性胃炎是什么意思| 乡长是什么级别| 1939年属什么| 想吃辣椒身体里缺什么| eb是什么| 查肾功能需要做什么检查| 18年是什么婚| 属鼠男和什么属相最配| 百度

新动能是中国创新发展的新标志

百度 由第三方制造的Steam掌机SMACHZ终于确定发售日期了,预计2018年第四季度,大家就能在掌机上体验Steam游戏了。

Clang implements the following published and upcoming ISO C++ standards:

Language Standard Flag Available in Clang?
C++2c -std=c++2c Partial
C++23 -std=c++23 Partial
C++20 -std=c++20 Partial
C++17 -std=c++17 Clang 5
C++14 -std=c++14 Clang 3.4
C++11 -std=c++11 Clang 3.3
C++98 / C++03 -std=c++98 Yes (other than export)

The Clang community is continually striving to improve C++ standards compliance between releases by submitting and tracking C++ Defect Reports and implementing resolutions as they become available.

Experimental work is also under way to implement C++ Technical Specifications that will help drive the future of the C++ programming language.

The LLVM bug tracker uses the "c++" label, as well as mode-specific labels such as "c++11", "c++14", and so on, to track known bugs with Clang's language conformance.

C++2c implementation status

Clang has support for some of the features of the C++ standard following C++23, informally referred to as C++26.

You can use Clang in C++2c mode with the -std=c++2c option.

List of features and minimum Clang version with support
Language Feature C++26 Proposal Available in Clang?
Remove undefined behavior from lexing P2621R2 (DR) Clang 3.3
Making non-encodable string literals ill-formed P1854R4 (DR) Clang 14
Unevaluated strings P2361R6 Clang 18
Add @, $, and ` to the basic character set P2558R2 Yes
constexpr cast from void* P2738R1 Clang 17
On the ignorability of standard attributes P2552R3 (DR) Yes
Static storage for braced initializers P2752R3 (DR) No
User-generated static_assert messages P2741R3 Clang 17
Placeholder variables with no name P2169R4 Clang 18
Template parameter initialization P2308R1 (DR) Clang 18
Pack Indexing P2662R3 Clang 19
Remove Deprecated Arithmetic Conversion on Enumerations P2864R2 Clang 18
Disallow Binding a Returned Glvalue to a Temporary P2748R5 Clang 19
Clarifying rules for brace elision in aggregate initialization P3106R1 (DR) Clang 17
Attributes for Structured Bindings P0609R3 Clang 19
Module Declarations Shouldn’t be Macros P3034R1 (DR) No
Trivial infinite loops are not Undefined Behavior P2809R3 (DR) Clang 19
Erroneous behaviour for uninitialized reads P2795R5 No
= delete("should have a reason"); P2573R2 Clang 19
Variadic friends P2893R3 Clang 20
constexpr placement new P2747R2 Clang 20
Deleting a Pointer to an Incomplete Type Should be Ill-formed P3144R2 Clang 19
Ordering of constraints involving fold expressions P2963R3 Clang 19
Structured binding declaration as a condition P0963R3 Clang 21
constexpr structured bindings P2686R5 No
Allowing exception throwing in constant-evaluation P3068R6 No
Remove Deprecated Array Comparisons from C++26 P2865R6 Clang 20
Structured Bindings can introduce a Pack P1061R10 Clang 21
The Oxford variadic comma P3176R1 Clang 20
Trivial unions P3074R7 No
Partial program correctness P1494R5 No
Contracts P2900R14 No
Defang and deprecate memory_order::consume P3475R2 No
Concept and variable-template template-parameters P2841R7 No
Trivial Relocatability P2786R13
Clang 21 (Partial) The feature test macro (__cpp_trivial_relocatability) has not yet been set.
#embed
P1967R14 No
Reflection P2996R13 No
P3394R4 No
P3293R3 No
P3491R3 No
P3096R12 No
Attaching main to the global module P3618R0 (DR) Clang 21
Expansion Statements P1306R5 No
constexpr virtual inheritance P3533R2 No
Preprocessing is never undefined P2843R3 No

C++23 implementation status

Clang has support for some of the features of the ISO C++ 2023 standard.

You can use Clang in C++23 mode with the -std=c++23 option.

List of features and minimum Clang version with support
Language Feature C++23 Proposal Available in Clang?
Literal suffix uz, z for size_t, ssize_t P0330R8 Clang 13
Make () in lambdas optional in all cases P1102R2 Clang 13
Simpler implicit move P2266R3 Clang 13
if consteval P1938R3 Clang 14
Allow duplicate attributes P2156R1 (DR) Clang 13
Narrowing contextual conversions to bool P1401R5 Clang 14
Trimming whitespaces before line splicing P2223R2 Yes
Make declaration order layout mandated P1874R4 Yes
C++ identifier syntax using UAX 31 P1949R7 (DR) Clang 14
Mixed string literal concatenation P2201R1 Yes
Deducing this P0847R7 Clang 18
P2797R0 Clang 19
Change scope of lambda trailing-return-type P2036R3 (DR) Clang 17
P2579R0 (DR)
Multidimensional subscript operator P2128R6 Clang 15
Non-literal variables (and labels and gotos) in constexpr functions P2242R3 Clang 15
Character encoding of diagnostic text P2246R1 Yes
Character sets and encodings P2314R4 Yes
Consistent character literal encoding P2316R2 Yes
Add support for preprocessing directives elifdef and elifndef P2334R1 Clang 13
Extend init-statement to allow alias-declaration P2360R0 Clang 14
auto(x): decay-copy in the language P0849R8 Clang 15
Attributes on Lambda-Expressions P2173R1 Clang 13
constexpr for <cmath> and <cstdlib> P0533R9 No
Type trait to determine if a reference binds to a temporary P2255R2 Clang 19
The Equality Operator You Are Looking For P2468R2 (DR) Clang 16
De-deprecating volatile compound operations P2327R1 (DR) Clang 15
Support for #warning P2437R1 Yes
Remove non-encodable wide character literals and multicharacter wide character literals P2362R3 Clang 14
Labels at the end of compound statements P2324R2 Clang 16
Delimited escape sequences P2290R3 Clang 15
Named universal character escapes P2071R2 Clang 15
Relaxing some constexpr restrictions P2448R2 Clang 19
Using unknown pointers and references in constant expressions P2280R4 (DR) Clang 20
static operator() P1169R4 Clang 16
Extended floating-point types and standard names P1467R9 No
Class template argument deduction from inherited constructors P2582R1 No
Portable assumptions P1774R8 Clang 19
Support for UTF-8 as a portable source file encoding P2295R6 Clang 15
char8_t Compatibility and Portability Fix P2513R3 (DR) Clang 16
Relax requirements on wchar_t to match existing practices P2460R2 (DR) Yes
Explicit lifetime management P2590R2 No
static operator[] P2589R1 Clang 16
Permitting static constexpr variables in constexpr functions P2647R1 Clang 16
consteval needs to propagate up P2564R3 (DR) Clang 17
Lifetime extension in range-based for loops P2718R0 Clang 20
Referencing The Unicode Standard P2736R2 Yes

C++20 implementation status

Clang has support for some of the features of the ISO C++ 2020 standard.

You can use Clang in C++20 mode with the -std=c++20 option (use -std=c++2a in Clang 9 and earlier).

List of features and minimum Clang version with support
Language Feature C++20 Proposal Available in Clang?
Default member initializers for bit-fields P0683R1 Clang 6
const&-qualified pointers to members P0704R1 Clang 6
Allow lambda-capture [=, this] P0409R2 Clang 6
__VA_OPT__ for preprocessor comma elision P0306R4 Clang 6
P1042R1 Clang 9
Designated initializers P0329R4 Clang 10
template-parameter-list for generic lambdas P0428R2 Clang 9
Concepts P0734R0 Clang 10
P0857R0 Clang 16
P1084R2 Clang 10
P1141R2
P0848R3 Clang 19
P1616R1 Clang 10
P1452R2
P1972R0 Clang 10
P1980R0
P2103R0
P2493R0 (DR)
P2092R0 Clang 16
P2113R0 Clang 16
Range-based for statements with initializer P0614R1 Clang 8
ADL and function templates that are not visible P0846R0 Clang 9
const mismatch with defaulted copy constructor P0641R2 Clang 8
Consistent comparison (operator<=>) P0515R3 Clang 10
P0905R1
P1120R0
P1185R2
P1186R3
P1630R1
P1946R0
P1959R0
P2002R1 Clang 17
P2085R0 Clang 14
Access checking on specializations P0692R1 Clang 14
Default constructible and assignable stateless lambdas P0624R2 Clang 8
Lambdas in unevaluated contexts P0315R4 Clang 17
[[no_unique_address]] attribute P0840R2 Clang 9
[[likely]] and [[unlikely]] attributes P0479R5 Clang 12
typename optional in more contexts P0634R3 Clang 16
Pack expansion in lambda init-capture P0780R2 Clang 9
Class types as non-type template parameters P0732R2 Clang 12
Generalized non-type template parameters of scalar type P1907R1
Clang 18 (Partial) Reference type template arguments referring to instantiation-dependent objects and subobjects (i.e. declared inside a template but neither type- nor value-dependent) aren't fully supported.
Destroying operator delete P0722R3 Clang 6
Relaxations of constexpr restrictions P1064R0 Clang 9
P1002R1 Clang 8
P1327R1 Clang 9
P1330R0
P1331R2 Clang 10
P1668R1
P0784R7
Prohibit aggregates with user-declared constructors P1008R1 Clang 8
Feature test macros P0941R2 (see below)
explicit(bool) P0892R2 Clang 9
Signed integers are two's complement P1236R1 Clang 9
char8_t P0482R6 Clang 7 (11)
Immediate functions (consteval) P1073R3 Clang 17
P1937R2 Clang 14
std::is_constant_evaluated P0595R2 Clang 9
Nested inline namespaces P1094R2 Clang 8
Structured binding extensions P1091R3 Clang 16
P1381R1
Stronger Unicode requirements P1041R4 Yes
P1139R2
Parenthesized initialization of aggregates P0960R3 Clang 16
P1975R0
Modules P1103R3 Clang 15
P1766R1 (DR) Clang 11
P1811R0 Clang 17
P1703R1 Subsumed by P1857
P1874R1 Clang 15
P1979R0 Clang 17
P1779R3 Clang 15
P1857R3 No
P2115R0 Yes
P1815R2 Partial
P2615R1 (DR) Clang 17
P2788R0 (DR) Clang 17
Coroutines P0912R5
Partial Fully supported on all targets except Windows, which still has some stability and ABI issues.
Deprecate a[b,c] P1161R3 Clang 9
Deprecate some problematic uses of volatile P1152R4 Clang 10
[[nodiscard("with reason")]] P1301R4 Clang 9
using enum P1099R5 Clang 13
Class template argument deduction for aggregates P1816R0 Clang 17
P2082R1
Class template argument deduction for alias templates P1814R0
Clang 19 (Partial) This feature has been initially completed, but the feature macro __cpp_deduction_guides has not been updated.
Permit conversions to arrays of unknown bound P0388R4 Clang 14
constinit P1143R2 Clang 10
Pseudo-destructors end object lifetimes P0593R6 (DR) Clang 11
More implicit moves P1825R0 (DR) Clang 13

(11): Prior to Clang 8, this feature is not enabled by -std=c++20, but can be enabled with -fchar8_t.

C++17 implementation status

Clang 5 and later implement all the features of the ISO C++ 2017 standard.

By default, Clang 16 or later builds C++ code according to the C++17 standard. You can use Clang in C++17 mode with the -std=c++17 option (use -std=c++1z in Clang 4 and earlier).

List of features and minimum Clang version with support
Language Feature C++17 Proposal Available in Clang?
static_assert with no message N3928 Clang 3.5
Disabling trigraph expansion by default N4086 Clang 3.5
typename in a template template parameter N4051 Clang 3.5
New auto rules for direct-list-initialization N3922 Clang 3.8 (8)
Fold expressions N4295 Clang 3.6
P0036R0 Clang 3.9
u8 character literals N4267 Clang 3.6
Nested namespace definition N4230 Clang 3.6
Attributes for namespaces and enumerators N4266 Clang 3.6
Allow constant evaluation for all non-type template arguments N4268 Clang 3.6
Remove deprecated register storage class P0001R1 Clang 3.8
Remove deprecated bool increment P0002R1 Clang 3.8
Make exception specifications part of the type system P0012R1 Clang 4
__has_include in preprocessor conditionals P0061R1 Yes
[[fallthrough]] attribute P0188R1 Clang 3.9
[[nodiscard]] attribute P0189R1 Clang 3.9
P1771R1 (DR) Clang 9
[[maybe_unused]] attribute P0212R1 Clang 3.9
Aggregate initialization of classes with base classes P0017R1 Clang 3.9
constexpr lambda expressions P0170R1 Clang 5
Differing begin and end types in range-based for P0184R0 Clang 3.9
Lambda capture of *this P0018R3 Clang 3.9
Direct-list-initialization of enums P0138R2 Clang 3.9
Hexadecimal floating-point literals P0245R1 Yes
Using attribute namespaces without repetition P0028R4 Clang 3.9
Dynamic memory allocation for over-aligned data P0035R4 Clang 4
Template argument deduction for class templates P0091R3 Clang 5
P0512R0
P0620R0 (DR) Clang 7
P0702R1 (DR) Clang 6
Non-type template parameters with auto type P0127R2 Clang 4
Guaranteed copy elision P0135R1 Clang 4
Stricter expression evaluation order P0145R3 Clang 4 (9)
P0400R0
Requirement to ignore unknown attributes P0283R2 Yes
constexpr if-statements P0292R2 Clang 3.9
Inline variables P0386R2 Clang 3.9
Structured bindings P0217R3 Clang 4
P0961R1 (DR) Clang 8
P0969R0 (DR) Clang 8
Separate variable and condition for if and switch P0305R1 Clang 3.9
Matching template template parameters to compatible arguments P0522R0 (DR) Clang 19 (10)
Removing deprecated dynamic exception specifications P0003R5 Clang 4
Pack expansions in using-declarations P0195R2 Clang 4

(8): This is a backwards-incompatible change that is applied to all language versions that allow type deduction from auto (per the request of the C++ committee). In Clang 3.7, a warning is emitted for all cases that would change meaning.
(9): Under the MS ABI, function parameters are destroyed from left to right in the callee. As a result, function parameters in calls to operator<<, operator>>, operator->*, operator&&, operator||, and operator, functions using expression syntax are no longer guaranteed to be destroyed in reverse construction order in that ABI. This is not fully supported during constant expression evaluation until Clang 12.
(10): While this feature was initially implemented in Clang 4, it was not enabled by default prior to clang 19, but could be enabled with -frelaxed-template-template-args. In Clang 19, the flag was deprecated. In Clang 21, the flag was removed altogether.

C++14 implementation status

Clang 3.4 and later implement all of the ISO C++ 2014 standard.

You can use Clang in C++14 mode with the -std=c++14 option (use -std=c++1y in Clang 3.4 and earlier).

List of features and minimum Clang version with support
Language Feature C++14 Proposal Available in Clang?
Tweak to certain C++ contextual conversions N3323 Clang 3.4
Binary literals N3472 Clang 2.9
decltype(auto) N3638 Clang 3.3
Return type deduction for normal functions Clang 3.4
Initialized lambda captures N3648 Clang 3.4
Generic lambdas N3649 Clang 3.4
Variable templates N3651 Clang 3.4
Relaxing requirements on constexpr functions N3652 Clang 3.4
Member initializers and aggregates N3653 Clang 3.3
Clarifying memory allocation N3664 Clang 3.4
[[deprecated]] attribute N3760 Clang 3.4
Single quotation mark as digit separator N3781 Clang 3.4
C++ Sized Deallocation N3778 Clang 3.4 (7)

(7): The user must supply definitions of the sized deallocation functions, either by providing them explicitly or by using a C++ standard library that does. libstdc++ added these functions in version 5.0, and libc++ added them in version 3.7. The user can also use the -fno-sized-deallocation option to disable sized deallocation.

C++11 implementation status

Clang 3.3 and later implement all of the ISO C++ 2011 standard.

You can use Clang in C++11 mode with the -std=c++11 option. Clang's C++11 mode can be used with libc++ or with gcc's libstdc++.

List of features and minimum Clang version with support
Language Feature C++11 Proposal Available in Clang?
Rvalue references N2118 Clang 2.9
P1825R0 (DR) Clang 13
    Rvalue references for *this N2439 Clang 2.9
Initialization of class objects by rvalues N1610 Clang 2.9
Non-static data member initializers N2756 Clang 3.0
Variadic templates N2242 Clang 2.9
    Extending variadic template template parameters N2555 Clang 2.9
Initializer lists N2672 Clang 3.1
P1009R2 (DR) Clang 9
P1957R2 (DR) Clang 11
Static assertions N1720 Clang 2.9
auto-typed variables N1984 Clang 2.9
    Multi-declarator auto N1737 Clang 2.9
    Removal of auto as a storage-class specifier N2546 Clang 2.9
    New function declarator syntax N2541 Clang 2.9
Lambda expressions N2927 Clang 3.1
P0588R1 (DR) No
Declared type of an expression N2343 Clang 2.9
    Incomplete return types N3276 Clang 3.1
Right angle brackets N1757 Clang 2.9
Default template arguments for function templates DR226 Clang 2.9
Solving the SFINAE problem for expressions DR339 Clang 2.9
Alias templates N2258 Clang 3.0
Extern templates N1987 Clang 2.9
Null pointer constant N2431 Clang 3.0
Strongly-typed enums N2347 Clang 2.9
Forward declarations for enums N2764
DR1206
Clang 3.1
Standardized attribute syntax N2761 Clang 3.3 (1)
Generalized constant expressions N2235 Clang 3.1
P0859R0 (DR) Clang 8
Alignment support N2341 Clang 3.3
Conditionally-support behavior N1627 Clang 2.9
Changing undefined behavior into diagnosable errors N1727 Clang 2.9
Delegating constructors N1986 Clang 3.0
Inheriting constructors N2540 Clang 3.3
P0136R1 (DR) Clang 3.9
Explicit conversion operators N2437 Clang 3.0
New character types N2249 Clang 2.9
Unicode string literals N2442 Clang 3.0
Raw string literals N2442 Clang 3.0
Universal character names in literals N2170 Clang 3.1
User-defined literals N2765 Clang 3.1
Standard Layout Types N2342 Clang 3.0
Defaulted functions N2346 Clang 3.0
P1286R2 (DR) Clang 9
Deleted functions N2346 Clang 2.9
Extended friend declarations N1791 Clang 2.9
Extending sizeof N2253
DR850
Clang 3.1
Inline namespaces N2535 Clang 2.9
Unrestricted unions N2544 Clang 3.1
Local and unnamed types as template arguments N2657 Clang 2.9
Range-based for N2930 Clang 3.0
P0962R1 (DR) Clang 8
Explicit virtual overrides N2928
N3206
N3272
Clang 3.0
Minimal support for garbage collection and reachability-based leak detection N2670 N/A (2)
Allowing move constructors to throw [noexcept] N3050 Clang 3.0
Defining move special member functions N3053 Clang 3.0
Concurrency
Sequence points N2239 Clang 3.3
Atomic operations N2427 Clang 3.1
Strong Compare and Exchange N2748 Clang 3.1 (3)
Bidirectional Fences N2752 Clang 3.1
Memory model N2429 Clang 3.2
Data-dependency ordering: atomics and memory model N2664 Clang 3.2 (4)
Propagating exceptions N2179 Clang 2.9
Allow atomics use in signal handlers N2547 Clang 3.1
Thread-local storage N2659 Clang 3.3 (5)
Dynamic initialization and destruction with concurrency N2660 Clang 2.9
C99 Features in C++11
__func__ predefined identifier N2340 Clang 2.9
C99 preprocessor N1653 Clang 2.9
long long N1811 Clang 2.9
Extended integral types N1988 N/A (6)

(1): The [[carries_dependency]] attribute has no effect.
(2): No compiler changes are required for an implementation such as Clang that does not provide garbage collection.
(3): All compare-exchange operations are emitted as strong compare-exchanges.
(4): memory_order_consume is lowered to memory_order_acquire.
(5): thread_local support requires a C++ runtime library providing __cxa_thread_atexit, such as libc++abi 3.6 or later, or libsupc++ 4.8 or later.
(6): No compiler changes are required for an implementation such as Clang that does not provide any extended integer types. __int128 is not treated as an extended integer type, because changing intmax_t would be an ABI-incompatible change.

C++98 implementation status

Clang implements all of the ISO C++ 1998 standard (including the defects addressed in the ISO C++ 2003 standard) except for export (which was removed in C++11).

Defect reports

Clang generally aims to implement resolutions to Defect Reports (bug fixes against prior standards) retroactively, in all prior standard versions where the fix is meaningful. Significant Defect Report changes to language features after the publication of the relevant standard are marked (DR) in the above table.

Clang also has a test suite for conformance to resolutions for issues on the C++ core issues list, most of which are considered Defect Reports. Implementation status for C++ core issues based on that test suite is tracked on a separate page.

Technical specifications and standing documents

ISO C++ also publishes a number of documents describing additional language and library features that are not part of standard C++.

List of features and minimum Clang version with support
Document Latest draft Compiler flag Available in Clang?
SD-6: SG10 feature test recommendations SD-6 N/A Clang 3.4 (N3745)
Clang 3.6 (N4200)
Clang 4 (P0096R3)
Clang 5 (P0096R4)
Clang 7 (P0096R5)
Clang 9 (P1353R0)
Clang 10 (P1902R1)
[TS] Concepts P0121R0 Superseded by P0734R0
[TS] Coroutines N4663 -fcoroutines-ts
-stdlib=libc++
Clang 5
-std=c++20
-stdlib=libc++
Superseded by P0912R5
[TS] Library Fundamentals, Version 1 (invocation type traits) N4480 N/A No
[TS] Library Fundamentals, Version 2 (source_location) N4617 N/A Clang 9 (documentation)
[TS] Modules N4720 -fmodules-ts Superseded by P1103R3
[DRAFT TS] Reflection N4818 No
[TS] Transactional Memory N4514 No
imp什么意思 121是什么意思 110斤穿什么码衣服 两脚发热是什么原因 风寒感冒吃什么药
冰箱保鲜室不制冷是什么原因 白蛋白偏高是什么意思 属牛的婚配什么属相最好 股票除权是什么意思 依云矿泉水为什么贵
essential是什么意思 晚上吃什么可以减肥 不拉屎是什么原因 什么不什么身 打茶围是什么意思
痔疮有什么症状表现 毛戈平属于什么档次 履什么意思 跖疣是什么原因造成的 湿热是什么意思
阴道干燥是什么原因hcv7jop5ns1r.cn 51号元素是什么意思hcv8jop1ns3r.cn 三国是什么朝代hcv8jop1ns2r.cn 梅雨季节是什么意思hcv8jop8ns5r.cn 贫血吃什么水果hcv9jop6ns0r.cn
失联是什么意思hcv9jop0ns6r.cn 什么欢快1949doufunao.com 3月4号什么星座hcv8jop9ns7r.cn 吃什么可以快速美白hcv9jop1ns1r.cn 什么生肖没有牙齿bjcbxg.com
苜蓿是什么hcv8jop1ns5r.cn 土耳其是什么人种hcv9jop6ns5r.cn 牛肉不能和什么一起吃hcv8jop4ns4r.cn ac疫苗是预防什么的hcv7jop9ns8r.cn 拉肚子发烧吃什么药gangsutong.com
免疫球蛋白适合什么人hcv8jop8ns3r.cn 熵是什么hcv8jop4ns4r.cn 心梗是什么原因造成的hcv9jop7ns4r.cn 折叠胆囊是什么意思sanhestory.com 痔疮可以吃什么hcv7jop6ns2r.cn
百度