دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
دسته بندی: برنامه نویسی: زبان های برنامه نویسی ویرایش: 3 نویسندگان: ISO سری: ناشر: Switzerland سال نشر: 2011 تعداد صفحات: 1356 زبان: English فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) حجم فایل: 6 مگابایت
در صورت تبدیل فایل کتاب C++11 – ISO/IEC 14882:2011 به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب C++11 – ISO/IEC 14882:2011 نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Contents......Page 3
List of Tables......Page 11
List of Figures......Page 15
1.2 Normative references......Page 17
1.3 Terms and definitions......Page 18
1.4 Implementation compliance......Page 21
1.6 Syntax notation......Page 22
1.8 The C++ object model......Page 23
1.9 Program execution......Page 24
1.10 Multi-threaded executions and data races......Page 28
1.11 Acknowledgments......Page 32
2.2 Phases of translation......Page 33
2.3 Character sets......Page 34
2.4 Trigraph sequences......Page 35
2.5 Preprocessing tokens......Page 36
2.8 Comments......Page 37
2.11 Identifiers......Page 38
2.12 Keywords......Page 39
2.14.2 Integer literals......Page 40
2.14.3 Character literals......Page 42
2.14.5 String literals......Page 44
2.14.8 User-defined literals......Page 47
3.1 Declarations and definitions......Page 50
3.2 One definition rule......Page 52
3.3.1 Declarative regions and scopes......Page 54
3.3.2 Point of declaration......Page 55
3.3.6 Namespace scope......Page 57
3.3.7 Class scope......Page 58
3.3.9 Template parameter scope......Page 59
3.3.10 Name hiding......Page 60
3.4.1 Unqualified name lookup......Page 61
3.4.2 Argument-dependent name lookup......Page 65
3.4.3 Qualified name lookup......Page 67
3.4.3.1 Class members......Page 68
3.4.3.2 Namespace members......Page 69
3.4.4 Elaborated type specifiers......Page 72
3.4.5 Class member access......Page 73
3.5 Program and linkage......Page 75
3.6.2 Initialization of non-local variables......Page 78
3.6.3 Termination......Page 80
3.7 Storage duration......Page 81
3.7.4 Dynamic storage duration......Page 82
3.7.4.2 Deallocation functions......Page 83
3.7.4.3 Safely-derived pointers......Page 84
3.8 Object lifetime......Page 85
3.9 Types......Page 88
3.9.1 Fundamental types......Page 91
3.9.2 Compound types......Page 92
3.9.3 CV-qualifiers......Page 93
3.10 Lvalues and rvalues......Page 94
3.11 Alignment......Page 96
4 Standard conversions......Page 97
4.4 Qualification conversions......Page 98
4.5 Integral promotions......Page 99
4.8 Floating point conversions......Page 100
4.11 Pointer to member conversions......Page 101
4.13 Integer conversion rank......Page 102
5 Expressions......Page 103
5.1.1 General......Page 105
5.1.2 Lambda expressions......Page 108
5.2 Postfix expressions......Page 113
5.2.2 Function call......Page 114
5.2.5 Class member access......Page 116
5.2.7 Dynamic cast......Page 118
5.2.8 Type identification......Page 119
5.2.9 Static cast......Page 120
5.2.10 Reinterpret cast......Page 122
5.2.11 Const cast......Page 123
5.3.1 Unary operators......Page 125
5.3.2 Increment and decrement......Page 126
5.3.4 New......Page 127
5.3.5 Delete......Page 131
5.3.7 noexcept operator......Page 132
5.4 Explicit type conversion (cast notation)......Page 133
5.5 Pointer-to-member operators......Page 134
5.7 Additive operators......Page 135
5.9 Relational operators......Page 137
5.10 Equality operators......Page 138
5.14 Logical AND operator......Page 139
5.16 Conditional operator......Page 140
5.17 Assignment and compound assignment operators......Page 141
5.19 Constant expressions......Page 143
6.3 Compound statement or block......Page 146
6.4 Selection statements......Page 147
6.4.2 The switch statement......Page 148
6.5.1 The while statement......Page 149
6.5.3 The for statement......Page 150
6.5.4 The range-based for statement......Page 151
6.6.3 The return statement......Page 152
6.7 Declaration statement......Page 153
6.8 Ambiguity resolution......Page 154
7 Declarations......Page 156
7.1.1 Storage class specifiers......Page 158
7.1.2 Function specifiers......Page 160
7.1.3 The typedef specifier......Page 161
7.1.5 The constexpr specifier......Page 163
7.1.6 Type specifiers......Page 167
7.1.6.1 The cv-qualifiers......Page 168
7.1.6.2 Simple type specifiers......Page 169
7.1.6.4 auto specifier......Page 172
7.2 Enumeration declarations......Page 173
7.3.1 Namespace definition......Page 177
7.3.1.1 Unnamed namespaces......Page 178
7.3.1.2 Namespace member definitions......Page 179
7.3.2 Namespace alias......Page 180
7.3.3 The using declaration......Page 181
7.3.4 Using directive......Page 187
7.4 The asm declaration......Page 189
7.5 Linkage specifications......Page 190
7.6.1 Attribute syntax and semantics......Page 193
7.6.2 Alignment specifier......Page 194
7.6.3 Noreturn attribute......Page 195
7.6.4 Carries dependency attribute......Page 196
8 Declarators......Page 198
8.1 Type names......Page 199
8.2 Ambiguity resolution......Page 200
8.3.1 Pointers......Page 202
8.3.2 References......Page 203
8.3.3 Pointers to members......Page 205
8.3.4 Arrays......Page 206
8.3.5 Functions......Page 207
8.3.6 Default arguments......Page 211
8.4.1 In general......Page 214
8.4.2 Explicitly-defaulted functions......Page 215
8.4.3 Deleted definitions......Page 217
8.5 Initializers......Page 218
8.5.1 Aggregates......Page 221
8.5.2 Character arrays......Page 224
8.5.3 References......Page 225
8.5.4 List-initialization......Page 227
9 Classes......Page 232
9.1 Class names......Page 234
9.2 Class members......Page 236
9.3 Member functions......Page 238
9.3.1 Nonstatic member functions......Page 239
9.3.2 The this pointer......Page 240
9.4 Static members......Page 241
9.4.2 Static data members......Page 242
9.5 Unions......Page 243
9.7 Nested class declarations......Page 245
9.9 Nested type names......Page 247
10 Derived classes......Page 249
10.1 Multiple base classes......Page 250
10.2 Member name lookup......Page 252
10.3 Virtual functions......Page 256
10.4 Abstract classes......Page 260
11 Member access control......Page 262
11.1 Access specifiers......Page 264
11.2 Accessibility of base classes and base class members......Page 265
11.3 Friends......Page 267
11.4 Protected member access......Page 270
11.5 Access to virtual functions......Page 271
11.7 Nested classes......Page 272
12.1 Constructors......Page 273
12.2 Temporary objects......Page 276
12.3 Conversions......Page 278
12.3.2 Conversion functions......Page 279
12.4 Destructors......Page 281
12.5 Free store......Page 283
12.6.1 Explicit initialization......Page 285
12.6.2 Initializing bases and members......Page 287
12.7 Construction and destruction......Page 291
12.8 Copying and moving class objects......Page 294
12.9 Inheriting constructors......Page 302
13.1 Overloadable declarations......Page 305
13.2 Declaration matching......Page 307
13.3 Overload resolution......Page 308
13.3.1 Candidate functions and argument lists......Page 309
13.3.1.1.1 Call to named function......Page 311
13.3.1.1.2 Call to object of class type......Page 312
13.3.1.2 Operators in expressions......Page 313
13.3.1.5 Initialization by conversion function......Page 315
13.3.2 Viable functions......Page 316
13.3.3 Best viable function......Page 317
13.3.3.1 Implicit conversion sequences......Page 319
13.3.3.1.2 User-defined conversion sequences......Page 320
13.3.3.1.4 Reference binding......Page 321
13.3.3.1.5 List-initialization sequence......Page 322
13.3.3.2 Ranking implicit conversion sequences......Page 324
13.4 Address of overloaded function......Page 327
13.5 Overloaded operators......Page 329
13.5.3 Assignment......Page 330
13.5.6 Class member access......Page 331
13.5.8 User-defined literals......Page 332
13.6 Built-in operators......Page 333
14 Templates......Page 337
14.1 Template parameters......Page 338
14.2 Names of template specializations......Page 341
14.3 Template arguments......Page 343
14.3.1 Template type arguments......Page 345
14.3.2 Template non-type arguments......Page 346
14.3.3 Template template arguments......Page 348
14.4 Type equivalence......Page 349
14.5.1 Class templates......Page 350
14.5.1.1 Member functions of class templates......Page 351
14.5.1.3 Static data members of class templates......Page 352
14.5.2 Member templates......Page 353
14.5.3 Variadic templates......Page 355
14.5.4 Friends......Page 357
14.5.5 Class template partial specializations......Page 359
14.5.5.2 Partial ordering of class template specializations......Page 361
14.5.5.3 Members of class template specializations......Page 362
14.5.6.1 Function template overloading......Page 363
14.5.6.2 Partial ordering of function templates......Page 365
14.5.7 Alias templates......Page 367
14.6 Name resolution......Page 368
14.6.1 Locally declared names......Page 371
14.6.2 Dependent names......Page 374
14.6.2.1 Dependent types......Page 375
14.6.2.2 Type-dependent expressions......Page 378
14.6.2.3 Value-dependent expressions......Page 379
14.6.4.1 Point of instantiation......Page 380
14.6.5 Friend names declared within a class template......Page 381
14.7 Template instantiation and specialization......Page 382
14.7.1 Implicit instantiation......Page 383
14.7.2 Explicit instantiation......Page 386
14.7.3 Explicit specialization......Page 389
14.8 Function template specializations......Page 394
14.8.1 Explicit template argument specification......Page 395
14.8.2 Template argument deduction......Page 397
14.8.2.1 Deducing template arguments from a function call......Page 401
14.8.2.3 Deducing conversion function template arguments......Page 404
14.8.2.4 Deducing template arguments during partial ordering......Page 405
14.8.2.5 Deducing template arguments from a type......Page 406
14.8.3 Overload resolution......Page 413
15 Exception handling......Page 416
15.1 Throwing an exception......Page 417
15.3 Handling an exception......Page 419
15.4 Exception specifications......Page 421
15.5.1 The std::terminate() function......Page 425
15.5.3 The std::uncaught_exception() function......Page 426
16 Preprocessing directives......Page 427
16.1 Conditional inclusion......Page 429
16.2 Source file inclusion......Page 430
16.3 Macro replacement......Page 431
16.3.1 Argument substitution......Page 432
16.3.3 The ## operator......Page 433
16.3.5 Scope of macro definitions......Page 434
16.4 Line control......Page 436
16.8 Predefined macro names......Page 437
16.9 Pragma operator......Page 439
17.1 General......Page 440
17.3 Definitions......Page 441
17.5.1.2 Summary......Page 444
17.5.1.4 Detailed specifications......Page 445
17.5.2.1.3 Bitmask types......Page 447
17.5.2.1.4 Character sequences......Page 448
17.5.2.3 Private members......Page 449
17.6.1.2 Headers......Page 450
17.6.1.3 Freestanding implementations......Page 451
17.6.2.3 Linkage......Page 452
17.6.3.1 Template argument requirements......Page 453
17.6.3.2 Swappable requirements......Page 454
17.6.3.4 Hash requirements......Page 456
17.6.3.5 Allocator requirements......Page 457
17.6.4.2.1 Namespace std......Page 461
17.6.4.3.3 External linkage......Page 462
17.6.4.6 Replacement functions......Page 463
17.6.4.8 Other functions......Page 464
17.6.5.2 Headers......Page 465
17.6.5.5 Member functions......Page 466
17.6.5.9 Data race avoidance......Page 467
17.6.5.13 Restrictions on storage of pointers......Page 468
17.6.5.15 Moved-from state of library types......Page 469
18.2 Types......Page 470
18.3.2.1 Class template numeric_limits......Page 471
18.3.2.3 Class template numeric_limits......Page 472
18.3.2.4 numeric_limits members......Page 473
18.3.2.5 Type float_round_style......Page 477
18.3.2.7 numeric_limits specializations......Page 478
18.4.1 Headersynopsis......Page 480
18.5 Start and termination......Page 481
18.6 Dynamic memory management......Page 483
18.6.1.1 Single-object forms......Page 484
18.6.1.2 Array forms......Page 485
18.6.1.3 Placement forms......Page 486
18.6.2.1 Class bad_alloc......Page 487
18.6.2.5 get_new_handler......Page 488
18.7.1 Class type_info......Page 489
18.7.3 Class bad_typeid......Page 490
18.8.1 Class exception......Page 491
18.8.2 Class bad_exception......Page 492
18.8.3.4 terminate......Page 493
18.8.5 Exception propagation......Page 494
18.8.6 nested_exception......Page 495
18.9.2 Initializer list access......Page 496
18.10 Other runtime support......Page 497
19.2.1 Class logic_error......Page 500
19.2.3 Class invalid_argument......Page 501
19.2.5 Class out_of_range......Page 502
19.2.8 Class overflow_error......Page 503
19.3 Assertions......Page 504
19.5 System error support......Page 505
19.5.1.1 Class error_category overview......Page 507
19.5.1.3 Class error_category non-virtual members......Page 508
19.5.2.1 Class error_code overview......Page 509
19.5.2.2 Class error_code constructors......Page 510
19.5.2.5 Class error_code non-member functions......Page 511
19.5.3.2 Class error_condition constructors......Page 512
19.5.3.5 Class error_condition non-member functions......Page 513
19.5.6.1 Class system_error overview......Page 514
19.5.6.2 Class system_error members......Page 515
20.2 Utility components......Page 516
20.2.2 swap......Page 518
20.2.3 forward/move helpers......Page 519
20.3.2 Class template pair......Page 520
20.3.3 Specialized algorithms......Page 523
20.4.1 In general......Page 524
20.4.2 Class template tuple......Page 526
20.4.2.1 Construction......Page 527
20.4.2.2 Assignment......Page 529
20.4.2.4 Tuple creation functions......Page 530
20.4.2.5 Tuple helper classes......Page 531
20.4.2.6 Element access......Page 532
20.4.2.8 Tuple traits......Page 533
20.5 Class template bitset......Page 534
20.5.1 bitset constructors......Page 536
20.5.2 bitset members......Page 537
20.5.4 bitset operators......Page 540
20.6.2 Headersynopsis......Page 541
20.6.3.1 Pointer traits member types......Page 545
20.6.4 Pointer safety......Page 546
20.6.5 Align......Page 547
20.6.8 Allocator traits......Page 548
20.6.8.1 Allocator traits member types......Page 549
20.6.8.2 Allocator traits static member functions......Page 550
20.6.9 The default allocator......Page 551
20.6.9.2 allocator globals......Page 552
20.6.11 Temporary buffers......Page 553
20.6.12.3 uninitialized_fill......Page 554
20.6.13 C library......Page 555
20.7.1 Class template unique_ptr......Page 556
20.7.1.1.2 default_delete......Page 557
20.7.1.2 unique_ptr for single objects......Page 558
20.7.1.2.1 unique_ptr constructors......Page 559
20.7.1.2.2 unique_ptr destructor......Page 561
20.7.1.2.4 unique_ptr observers......Page 562
20.7.1.3 unique_ptr for array objects with a runtime length......Page 563
20.7.1.3.2 unique_ptr observers......Page 564
20.7.1.4 unique_ptr specialized algorithms......Page 565
20.7.2.1 Class bad_weak_ptr......Page 566
20.7.2.2 Class template shared_ptr......Page 567
20.7.2.2.1 shared_ptr constructors......Page 569
20.7.2.2.3 shared_ptr assignment......Page 571
20.7.2.2.5 shared_ptr observers......Page 572
20.7.2.2.7 shared_ptr comparison......Page 573
20.7.2.2.9 shared_ptr casts......Page 574
20.7.2.2.11 shared_ptr I/O......Page 575
20.7.2.3.1 weak_ptr constructors......Page 576
20.7.2.3.5 weak_ptr observers......Page 577
20.7.2.4 Class template enable_shared_from_this......Page 578
20.7.2.5 shared_ptr atomic access......Page 580
20.8 Function objects......Page 582
20.8.2 Requirements......Page 586
20.8.3 Class template reference_wrapper......Page 587
20.8.3.4 reference_wrapper invocation......Page 588
20.8.4 Arithmetic operations......Page 589
20.8.5 Comparisons......Page 590
20.8.7 Bitwise operations......Page 591
20.8.8 Negators......Page 592
20.8.9.1.2 Function template bind......Page 593
20.8.9.1.3 Placeholders......Page 594
20.8.10 Function template mem_fn......Page 595
20.8.11.2 Class template function......Page 596
20.8.11.2.1 function construct/copy/destroy......Page 598
20.8.11.2.4 function invocation......Page 599
20.8.12 Class template hash......Page 600
20.9.1 Requirements......Page 601
20.9.2 Headersynopsis......Page 602
20.9.4.1 Primary type categories......Page 604
20.9.4.2 Composite type traits......Page 605
20.9.4.3 Type properties......Page 606
20.9.5 Type property queries......Page 611
20.9.6 Relationships between types......Page 612
20.9.7.1 Const-volatile modifications......Page 613
20.9.7.3 Sign modifications......Page 614
20.9.7.5 Pointer modifications......Page 615
20.9.7.6 Other transformations......Page 616
20.10.2 Headersynopsis......Page 618
20.10.4 Arithmetic on ratios......Page 619
20.10.5 Comparison of ratios......Page 620
20.11.2 Headersynopsis......Page 621
20.11.3 Clock requirements......Page 623
20.11.4.1 treat_as_floating_point......Page 624
20.11.4.3 Specializations of common_type......Page 625
20.11.5 Class template duration......Page 626
20.11.5.1 duration constructors......Page 627
20.11.5.3 duration arithmetic......Page 628
20.11.5.5 duration non-member arithmetic......Page 629
20.11.5.6 duration comparisons......Page 630
20.11.6 Class template time_point......Page 631
20.11.6.3 time_point arithmetic......Page 632
20.11.6.6 time_point comparisons......Page 633
20.11.7.1 Class system_clock......Page 634
20.11.8 Date and time functions......Page 635
20.12.1 Headersynopsis......Page 636
20.12.3 Scoped allocator adaptor constructors......Page 638
20.12.4 Scoped allocator adaptor members......Page 639
20.13.2 type_index overview......Page 641
20.13.4 Hash support......Page 642
21.2.1 Character traits requirements......Page 644
21.2.2 traits typedefs......Page 646
21.2.3.1 struct char_traits......Page 647
21.2.3.3 struct char_traits......Page 648
21.2.3.4 struct char_traits......Page 649
21.3 String classes......Page 650
21.4 Class template basic_string......Page 654
21.4.2 basic_string constructors and assignment operators......Page 658
21.4.4 basic_string capacity......Page 662
21.4.5 basic_string element access......Page 663
21.4.6.2 basic_string::append......Page 664
21.4.6.3 basic_string::assign......Page 666
21.4.6.4 basic_string::insert......Page 667
21.4.6.5 basic_string::erase......Page 668
21.4.6.6 basic_string::replace......Page 669
21.4.7.2 basic_string::find......Page 671
21.4.7.4 basic_string::find_first_of......Page 672
21.4.7.6 basic_string::find_first_not_of......Page 673
21.4.7.8 basic_string::substr......Page 674
21.4.8.1 operator+......Page 675
21.4.8.3 operator!=......Page 677
21.4.8.6 operator<=......Page 678
21.4.8.9 Inserters and extractors......Page 679
21.5 Numeric conversions......Page 681
21.6 Hash support......Page 682
21.7 Null-terminated sequence utilities......Page 683
22.2 Headersynopsis......Page 687
22.3.1 Class locale......Page 688
22.3.1.1.1 Type locale::category......Page 690
22.3.1.1.2 Class locale::facet......Page 691
22.3.1.1.3 Class locale::id......Page 692
22.3.1.2 locale constructors and destructor......Page 693
22.3.1.4 locale operators......Page 694
22.3.3.1 Character classification......Page 695
22.3.3.2.2 string conversions......Page 696
22.3.3.2.3 Buffer conversions......Page 699
22.4.1 The ctype category......Page 700
22.4.1.1 Class template ctype......Page 701
22.4.1.1.2 ctype virtual functions......Page 702
22.4.1.3 ctype specializations......Page 704
22.4.1.3.2 ctypemembers......Page 705
22.4.1.3.3 ctypestatic members......Page 706
22.4.1.4 Class template codecvt......Page 707
22.4.1.4.1 codecvt members......Page 708
22.4.1.4.2 codecvt virtual functions......Page 709
22.4.2.1 Class template num_get......Page 711
22.4.2.1.2 num_get virtual functions......Page 713
22.4.2.2 Class template num_put......Page 716
22.4.2.2.2 num_put virtual functions......Page 717
22.4.3.1 Class template numpunct......Page 720
22.4.3.1.1 numpunct members......Page 721
22.4.4.1 Class template collate......Page 722
22.4.4.1.2 collate virtual functions......Page 723
22.4.5.1 Class template time_get......Page 724
22.4.5.1.1 time_get members......Page 725
22.4.5.1.2 time_get virtual functions......Page 727
22.4.5.3 Class template time_put......Page 728
22.4.5.3.2 time_put virtual functions......Page 729
22.4.6.1 Class template money_get......Page 730
22.4.6.1.2 money_get virtual functions......Page 731
22.4.6.2 Class template money_put......Page 732
22.4.6.3 Class template moneypunct......Page 733
22.4.6.3.2 moneypunct virtual functions......Page 735
22.4.7.1 Class template messages......Page 736
22.4.7.1.2 messages virtual functions......Page 737
22.4.8 Program-defined facets......Page 738
22.5 Standard code conversion facets......Page 741
22.6 C library locales......Page 742
23.2.1 General container requirements......Page 744
23.2.3 Sequence containers......Page 750
23.2.4 Associative containers......Page 755
23.2.4.1 Exception safety guarantees......Page 760
23.2.5 Unordered associative containers......Page 761
23.3.1 In general......Page 770
23.3.2.1 Class template array overview......Page 772
23.3.2.6 array::fill......Page 774
23.3.3.1 Class template deque overview......Page 775
23.3.3.2 deque constructors, copy, and assignment......Page 778
23.3.3.4 deque modifiers......Page 779
23.3.4.1 Class template forward_list overview......Page 780
23.3.4.3 forward_list iterators......Page 783
23.3.4.5 forward_list modifiers......Page 784
23.3.4.6 forward_list operations......Page 785
23.3.5.1 Class template list overview......Page 787
23.3.5.2 list constructors, copy, and assignment......Page 790
23.3.5.4 list modifiers......Page 791
23.3.5.5 list operations......Page 792
23.3.6.1 Class template vector overview......Page 794
23.3.6.2 vector constructors, copy, and assignment......Page 797
23.3.6.3 vector capacity......Page 798
23.3.6.6 vector specialized algorithms......Page 799
23.3.7 Class vector......Page 800
23.4.2 Header