(标准规范)ISO-IEC-14882-2011-(C++11).pdf

上传人:君**** 文档编号:93097273 上传时间:2023-06-28 格式:PDF 页数:1356 大小:6.91MB
返回 下载 相关 举报
(标准规范)ISO-IEC-14882-2011-(C++11).pdf_第1页
第1页 / 共1356页
(标准规范)ISO-IEC-14882-2011-(C++11).pdf_第2页
第2页 / 共1356页
点击查看更多>>
资源描述

《(标准规范)ISO-IEC-14882-2011-(C++11).pdf》由会员分享,可在线阅读,更多相关《(标准规范)ISO-IEC-14882-2011-(C++11).pdf(1356页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 Reference numberISO/IEC 14882:2011(E)ISO/IEC 2011 INTERNATIONAL STANDARD ISO/IEC14882Third edition2011-09-01Information technology Programming languages C+Technologies de linformation Langages de programmation C+第 1 页 共 1356 页ISO/IEC 14882:2011(E)COPYRIGHT PROTECTED DOCUMENT ISO/IEC 2011 All rights

2、 reserved.Unless otherwise specified,no part of this publication may be reproduced or utilized in any form or by any means,electronic or mechanical,including photocopying and microfilm,without permission in writing from either ISO at the address below or ISOs member body in the country of the reques

3、ter.ISO copyright office Case postale 56 CH-1211 Geneva 20 Tel.+41 22 749 01 11 Fax +41 22 749 09 47 E-mail copyrightiso.org Web www.iso.org Published in Switzerland ii ISO/IEC 2011 All rights reserved 第 2 页 共 1356 页ContentsContentsiiiList of TablesxiList of Figuresxv1General11.1Scope.11.2Normative

4、references.11.3Terms and definitions.21.4Implementation compliance.51.5Structure of this International Standard.61.6Syntax notation.61.7The C+memory model.71.8The C+object model.71.9Program execution.81.10Multi-threaded executions and data races.121.11Acknowledgments.162Lexical conventions172.1Separ

5、ate translation.172.2Phases of translation.172.3Character sets.182.4Trigraph sequences.192.5Preprocessing tokens.202.6Alternative tokens.212.7Tokens.212.8Comments.212.9Header names.222.10Preprocessing numbers.222.11Identifiers.222.12Keywords.232.13Operators and punctuators.242.14Literals.243Basic co

6、ncepts343.1Declarations and definitions.343.2One definition rule.363.3Scope.383.4Name lookup.453.5Program and linkage.593.6Start and termination.623.7Storage duration.653.8Object lifetime.693.9Types.723.10Lvalues and rvalues.78ContentsiiiISO/IEC 14882:2011(E)ISO/IEC 2011 All rights reserved第 3 页 共 1

7、356 页3.11Alignment.804Standard conversions814.1Lvalue-to-rvalue conversion.824.2Array-to-pointer conversion.824.3Function-to-pointer conversion.824.4Qualification conversions.824.5Integral promotions.834.6Floating point promotion.844.7Integral conversions.844.8Floating point conversions.844.9Floatin

8、g-integral conversions.854.10Pointer conversions.854.11Pointer to member conversions.854.12Boolean conversions.864.13Integer conversion rank.865Expressions875.1Primary expressions.895.2Postfix expressions.975.3Unary expressions.1095.4Explicit type conversion(cast notation).1175.5Pointer-to-member op

9、erators.1185.6Multiplicative operators.1195.7Additive operators.1195.8Shift operators.1215.9Relational operators.1215.10Equality operators.1225.11Bitwise AND operator.1235.12Bitwise exclusive OR operator.1235.13Bitwise inclusive OR operator.1235.14Logical AND operator.1235.15Logical OR operator.1245

10、.16Conditional operator.1245.17Assignment and compound assignment operators.1255.18Comma operator.1275.19Constant expressions.1276Statements1306.1Labeled statement.1306.2Expression statement.1306.3Compound statement or block.1306.4Selection statements.1316.5Iteration statements.1336.6Jump statements

11、.1366.7Declaration statement.1376.8Ambiguity resolution.1387Declarations1407.1Specifiers.1427.2Enumeration declarations.157ContentsivISO/IEC 14882:2011(E)ISO/IEC 2011 All rights reserved第 4 页 共 1356 页7.3Namespaces.1617.4The asm declaration.1737.5Linkage specifications.1747.6Attributes.1778Declarator

12、s1828.1Type names.1838.2Ambiguity resolution.1848.3Meaning of declarators.1868.4Function definitions.1988.5Initializers.2029Classes2169.1Class names.2189.2Class members.2209.3Member functions.2229.4Static members.2259.5Unions.2279.6Bit-fields.2299.7Nested class declarations.2299.8Local class declara

13、tions.2319.9Nested type names.23110 Derived classes23310.1Multiple base classes.23410.2Member name lookup.23610.3Virtual functions.24010.4Abstract classes.24411 Member access control24611.1Access specifiers.24811.2Accessibility of base classes and base class members.24911.3Friends.25111.4Protected m

14、ember access.25411.5Access to virtual functions.25511.6Multiple access.25611.7Nested classes.25612 Special member functions25712.1Constructors.25712.2Temporary objects.26012.3Conversions.26212.4Destructors.26512.5Free store.26712.6Initialization.26912.7Construction and destruction.27512.8Copying and

15、 moving class objects.27812.9Inheriting constructors.28613 Overloading28913.1Overloadable declarations.289ContentsvISO/IEC 14882:2011(E)ISO/IEC 2011 All rights reserved第 5 页 共 1356 页13.2Declaration matching.29113.3Overload resolution.29213.4Address of overloaded function.31113.5Overloaded operators.

16、31313.6Built-in operators.31714 Templates32114.1Template parameters.32214.2Names of template specializations.32514.3Template arguments.32714.4Type equivalence.33314.5Template declarations.33414.6Name resolution.35214.7Template instantiation and specialization.36614.8Function template specializations

17、.37815 Exception handling40015.1Throwing an exception.40115.2Constructors and destructors.40315.3Handling an exception.40315.4Exception specifications.40515.5Special functions.40916 Preprocessing directives41116.1Conditional inclusion.41316.2Source file inclusion.41416.3Macro replacement.41516.4Line

18、 control.42016.5Error directive.42116.6Pragma directive.42116.7Null directive.42116.8Predefined macro names.42116.9Pragma operator.42317 Library introduction42417.1General.42417.2The C standard library.42517.3Definitions.42517.4Additional definitions.42817.5Method of description(Informative).42817.6

19、Library-wide requirements.43418 Language support library45418.1General.45418.2Types.45418.3Implementation properties.45518.4Integer types.46418.5Start and termination.46518.6Dynamic memory management.46718.7Type identification.47318.8Exception handling.475ContentsviISO/IEC 14882:2011(E)ISO/IEC 2011

20、All rights reserved第 6 页 共 1356 页18.9Initializer lists.48018.10 Other runtime support.48119 Diagnostics library48419.1General.48419.2Exception classes.48419.3Assertions.48819.4Error numbers.48919.5System error support.48920 General utilities library50020.1General.50020.2Utility components.50020.3Pai

21、rs.50420.4Tuples.50820.5Class template bitset.51820.6Memory.52520.7Smart pointers.54020.8Function objects.56620.9Metaprogramming and type traits.58520.10 Compile-time rational arithmetic.60220.11 Time utilities.60520.12 Class template scoped_allocator_adaptor.62020.13 Class type_index.62521 Strings

22、library62821.1General.62821.2Character traits.62821.3String classes.63421.4Class template basic_string.63821.5Numeric conversions.66521.6Hash support.66621.7Null-terminated sequence utilities.66722 Localization library67122.1General.67122.2Header synopsis.67122.3Locales.67222.4Standard locale catego

23、ries.68422.5Standard code conversion facets.72522.6C library locales.72623 Containers library72823.1General.72823.2Container requirements.72823.3Sequence containers.75423.4Associative containers.78623.5Unordered associative containers.80323.6Container adaptors.81924 Iterators library829ContentsviiIS

24、O/IEC 14882:2011(E)ISO/IEC 2011 All rights reserved第 7 页 共 1356 页24.1General.82924.2Iterator requirements.82924.3Header synopsis.83424.4Iterator primitives.83724.5Iterator adaptors.84124.6Stream iterators.85525 Algorithms library86325.1General.86325.2Non-modifying sequence operations.87325.3Mutating

25、 sequence operations.87825.4Sorting and related operations.88725.5C library algorithms.90026 Numerics library90226.1General.90226.2Numeric type requirements.90226.3The floating-point environment.90326.4Complex numbers.90426.5Random number generation.91426.6Numeric arrays.95926.7Generalized numeric o

26、perations.98126.8C library.98427 Input/output library98927.1General.98927.2Iostreams requirements.99027.3Forward declarations.99027.4Standard iostream objects.99227.5Iostreams base classes.99427.6Stream buffers.101327.7Formatting and manipulators.102327.8String-based streams.104927.9File-based strea

27、ms.106128 Regular expressions library107628.1General.107628.2Definitions.107628.3Requirements.107728.4Header synopsis.107928.5Namespace std:regex_constants.108628.6Class regex_error.108928.7Class template regex_traits.108928.8Class template basic_regex.109228.9Class template sub_match.109728.10 Clas

28、s template match_results.110328.11 Regular expression algorithms.110828.12 Regular expression iterators.111328.13 Modified ECMAScript regular expression grammar.111929 Atomic operations library1122ContentsviiiISO/IEC 14882:2011(E)ISO/IEC 2011 All rights reserved第 8 页 共 1356 页29.1General.112229.2Head

29、er synopsis.112229.3Order and consistency.112529.4Lock-free property.112829.5Atomic types.112829.6Operations on atomic types.113229.7Flag type and operations.113729.8Fences.113830 Thread support library114030.1General.114030.2Requirements.114030.3Threads.114330.4Mutual exclusion.114930.5Condition va

30、riables.116230.6Futures.1170A Grammar summary1187A.1Keywords.1187A.2Lexical conventions.1187A.3Basic concepts.1192A.4Expressions.1192A.5Statements.1195A.6Declarations.1196A.7Declarators.1200A.8Classes.1202A.9Derived classes.1203A.10Special member functions.1203A.11Overloading.1204A.12Templates.1204A

31、.13Exception handling.1205A.14Preprocessing directives.1205B Implementation quantities1207C Compatibility1209C.1C+and ISO C.1209C.2C+and ISO C+2003.1218C.3C standard library.1225D Compatibility features1229D.1Increment operator with bool operand.1229D.2register keyword.1229D.3Implicit declaration of

32、 copy functions.1229D.4Dynamic exception specifications.1229D.5C standard library headers.1229D.6Old iostreams members.1230D.7char*streams.1231D.8Function objects.1240D.9Binders.1243D.10auto_ptr.1245ContentsixISO/IEC 14882:2011(E)ISO/IEC 2011 All rights reserved第 9 页 共 1356 页D.11Violating exception-

33、specifications.1247E Universal character names for identifier characters1249E.1Ranges of characters allowed.1249E.2Ranges of characters disallowed initially.1249F Cross references1250Index1268Index of grammar productions1297Index of library names1300Index of implementation-defined behavior1336Conten

34、tsxISO/IEC 14882:2011(E)ISO/IEC 2011 All rights reserved第 10 页 共 1356 页List of Tables1Trigraph sequences.192Alternative tokens.213Identifiers with special meaning.234Keywords.235Alternative representations.246Types of integer constants.257Escape sequences.278String literal concatenations.309Relation

35、s on const and volatile.7810simple-type-specifiers and the types they specify.15411Relationship between operator and function call notation.29712Conversions.30513Library categories.42414C+library headers.43515C+headers for C library facilities.43516C+headers for freestanding implementations.43617Equ

36、alityComparable requirements.43718LessThanComparable requirements.43719DefaultConstructible requirements.43720MoveConstructible requirements.43821CopyConstructible requirements(in addition to MoveConstructible).43822MoveAssignable requirements.43823CopyAssignable requirements(in addition to MoveAssi

37、gnable).43824Destructible requirements.43825NullablePointer requirements.44026Hash requirements.44127Descriptive variable definitions.44128Allocator requirements.44229Language support library summary.45430Header synopsis.45431Header synopsis.46432Header synopsis.46433Header synopsis.46634Header syno

38、psis.48235Header synopsis.48236Header synopsis.48237Header synopsis.48238Header synopsis.48239Header synopsis.48240Header synopsis.483List of TablesxiISO/IEC 14882:2011(E)ISO/IEC 2011 All rights reserved第 11 页 共 1356 页41Diagnostics library summary.48442Header synopsis.48843Header synopsis.48944Gener

39、al utilities library summary.50045Header synopsis.53946Header synopsis.54047Primary type category predicates.58948Composite type category predicates.58949Type property predicates.59050Type property queries.59551Type relationship predicates.59652Const-volatile modifications.59753Reference modificatio

40、ns.59854Sign modifications.59855Array modifications.59956Pointer modifications.59957Other transformations.60058Expressions used to perform ratio arithmetic.60459Clock requirements.60860Header synopsis.61961Strings library summary.62862Character traits requirements.62963basic_string(const Allocator&)

41、effects.64364basic_string(const basic_string&)effects.64365basic_string(const basic_string&,size_type,size_type,const Allocator&)effects.64366basic_string(const charT*,size_type,const Allocator&)effects.64467basic_string(const charT*,const Allocator&)effects.64468basic_string(size_t,charT,const Allo

42、cator&)effects.64469basic_string(const basic_string&,const Allocator&)and basic_string(basic_string&,const Allocator&)effects.64570operator=(const basic_string&)effects.64571operator=(const basic_string&)effects.64572compare()results.65973Potential mbstate_t data races.66874Header synopsis.66875Head

43、er synopsis.66976Header synopsis.66977Header synopsis.66978Header synopsis.66979Header synopsis.67080Localization library summary.67181Locale category facets.67582Required specializations.67683do_in/do_out result values.69484do_unshift result values.69485Integer conversions.69886Length modifier.6988

44、7Integer conversions.702List of TablesxiiISO/IEC 14882:2011(E)ISO/IEC 2011 All rights reserved第 12 页 共 1356 页88Floating-point conversions.70389Length modifier.70390Numeric conversions.70391Fill padding.70492do_get_date effects.71193Header synopsis.72694Potential setlocale data races.72795Containers

45、library summary.72896Container requirements.72997Reversible container requirements.73198Optional container operations.73299Allocator-aware container requirements.733100 Sequence container requirements(in addition to container).735101 Optional sequence container operations.737102 Associative containe

46、r requirements(in addition to container).740103 Unordered associative container requirements(in addition to container).746104 Iterators library summary.829105 Relations among iterator categories.829106 Iterator requirements.831107 Input iterator requirements(in addition to Iterator).831108 Output it

47、erator requirements(in addition to Iterator).832109 Forward iterator requirements(in addition to input iterator).833110 Bidirectional iterator requirements(in addition to forward iterator).833111 Random access iterator requirements(in addition to bidirectional iterator).834112 Algorithms library sum

48、mary.863113 Header synopsis.900114 Numerics library summary.902115 Seed sequence requirements.915116 Uniform random number generator requirements.916117 Random number engine requirements.917118 Random number distribution requirements.921119 Header synopsis.984120 Header synopsis.985121 Input/output

49、library summary.989122 fmtflags effects.999123 fmtflags constants.999124 iostate effects.999125 openmode effects.1000126 seekdir effects.1000127 Position type requirements.1004128 basic_ios:init()effects.1007129 basic_ios:copyfmt()effects.1008130 seekoff positioning.1054131 newoff values.1054132 Fil

50、e open modes.1064133 seekoff effects.1067List of TablesxiiiISO/IEC 14882:2011(E)ISO/IEC 2011 All rights reserved第 13 页 共 1356 页134 Header synopsis.1074135 Header synopsis.1075136 Regular expressions library summary.1076137 Regular expression traits class requirements.1077138 syntax_option_type effec

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 标准材料 > 建筑材料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com