Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΎΠ΅ руководство ΠΏΠΎ C++Β». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 35

Автор Π‘ΡŒΡΡ€Π½ Бтраустрап

 const

 volatile

имя-Π²-описатСлС:

 ΠΈΠΌΡ

 ΠΈΠΌΡ-класса

 ~имя-класса

 ΠΈΠΌΡ-typedef

 ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½Π½ΠΎΠ΅-имя-Ρ‚ΠΈΠΏΠ°

имя-Ρ‚ΠΈΠΏΠ°:

 ΡΠΏΠΈΡΠΎΠΊ-спСцификаций-Ρ‚ΠΈΠΏΠ° абстрактный-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ opt

список-спСцификаций-Ρ‚ΠΈΠΏΠ°:

 ΡΠΏΠ΅Ρ†ΠΈΡ„икация-Ρ‚ΠΈΠΏΠ° список-спСцификаций-Ρ‚ΠΈΠΏΠ°

абстрактный-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ:

 ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ-ptr абстрактный-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ opt

 Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½Ρ‹ΠΉ-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ opt ( список-описаний-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ) список-спСцификаций_cv opt

 Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ‚Π½Ρ‹ΠΉ-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ opt [ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅-константа opt ]

 ( абстрактный-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ )

список-описаний-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²:

 ΡΠΏΠΈΡΠΎΠΊ-описаний-ΠΏΠ°Ρ€Π°ΠΌ opt … opt

 ΡΠΏΠΈΡΠΎΠΊ-описаний-ΠΏΠ°Ρ€Π°ΠΌ , …

список-описаний-ΠΏΠ°Ρ€Π°ΠΌ:

 ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

 ΡΠΏΠΈΡΠΎΠΊ-описаний-ΠΏΠ°Ρ€Π°ΠΌ , описаниС-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

описаниС-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°:

 ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ-описания ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ

 ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ-описания ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ = Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

 ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ-описания абстрактный-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ opt

 ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ-описания абстрактный-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ opt = Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

 ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ-описания opt ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€-ctor Ρ‚Π΅Π»ΠΎ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Ρ‚Π΅Π»ΠΎ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

 ΡΠΎΡΡ‚Π°Π²Π½ΠΎΠΉ-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€:

 = Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅-присваивания

 = { список-ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² , opt }

 ( список-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ )

список-ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ²:

 Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅-присваивания

 ΡΠΏΠΈΡΠΎΠΊ-ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² , Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅-присваивания

 { список-ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² , opt }

R.17.5 Описания класса

спСцификация-класса:

 Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ-класса { список-Ρ‡Π»Π΅Π½ΠΎΠ² opt }

заголовок-класса:

 ΡΠ»ΡƒΠΆΠ΅Π±Π½ΠΎΠ΅-слово-класса ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ opt спСц-Π±Π°Π·ΠΎΠ²Ρ‹Ρ… opt

 ΡΠ»ΡƒΠΆΠ΅Π±Π½ΠΎΠ΅-слово-класса имя-класса спСц-Π±Π°Π·ΠΎΠ²Ρ‹Ρ… opt

слуТСбноС-слово-класса:

 class

 struct

 union

список-Ρ‡Π»Π΅Π½ΠΎΠ²:

 ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅-Ρ‡Π»Π΅Π½Π° список-Ρ‡Π»Π΅Π½ΠΎΠ² opt

 ΡΠΏΠ΅Ρ†ΠΈΡ„икация-доступа : список-Ρ‡Π»Π΅Π½ΠΎΠ² opt

описаниС-Ρ‡Π»Π΅Π½Π°:

 ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ-описания opt список-описатСлСй-Ρ‡Π»Π΅Π½ΠΎΠ² opt ;

 ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ; opt

 ΡƒΡ‚ΠΎΡ‡Π½Π΅Π½Π½ΠΎΠ΅-имя ;

список-описатСлСй-Ρ‡Π»Π΅Π½ΠΎΠ²:

 ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ-Ρ‡Π»Π΅Π½Π°

 ΡΠΏΠΈΡΠΎΠΊ-описатСлСй-Ρ‡Π»Π΅Π½ΠΎΠ² , ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ-Ρ‡Π»Π΅Π½Π°

ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ-Ρ‡Π»Π΅Π½Π°:

 ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ спСцификация-чистой opt

 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ opt : Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅-константа

спСцификация-чистой:

 = 0

список-Π±Π°Π·ΠΎΠ²Ρ‹Ρ…:

 ΡΠΏΠ΅Ρ†ΠΈΡ„икация-Π±Π°Π·ΠΎΠ²Ρ‹Ρ…

 ΡΠΏΠΈΡΠΎΠΊ-Π±Π°Π·ΠΎΠ²Ρ‹Ρ… , спСцификация-Π±Π°Π·ΠΎΠ²Ρ‹Ρ…

спСцификация-Π±Π°Π·ΠΎΠ²Ρ‹Ρ…:

 ΠΏΠΎΠ»Π½ΠΎΠ΅-имя-класса

 virtual спСцификация-доступа opt ΠΏΠΎΠ»Π½ΠΎΠ΅-имя-класса

 ΡΠΏΠ΅Ρ†ΠΈΡ„икация-доступа virtual opt ΠΏΠΎΠ»Π½ΠΎΠ΅-имя-класса

спСцификация-доступа:

 private

 protected

 public

имя-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-прСобразования:

 operator имя-Ρ‚ΠΈΠΏΠ°-прСобразования

имя-Ρ‚ΠΈΠΏΠ°-прСобразования:

 ΡΠΏΠΈΡΠΎΠΊ-спСцификаций-Ρ‚ΠΈΠΏΠ° опСрация-ptr opt

ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€-ctor:

 : список-ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ²-Ρ‡Π»Π΅Π½ΠΎΠ²

список-ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ²-Ρ‡Π»Π΅Π½ΠΎΠ²:

 ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€-Ρ‡Π»Π΅Π½Π°

 ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€-Ρ‡Π»Π΅Π½Π° , список-ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ²-Ρ‡Π»Π΅Π½Π°

ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€-Ρ‡Π»Π΅Π½Π°:

 ΠΏΠΎΠ»Π½ΠΎΠ΅-имя-класса ( список-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ opt )

 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

имя-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

 operator опСрация

опСрация : ΠΎΠ΄ΠΈΠ½ ΠΈΠ·

 new delete

 + - * / % ^& | ~

 ! = β€Ή β€Ί += -= *= /= %=

 ^= &= |= β€Ήβ€Ή β€Ίβ€Ί β€Ίβ€Ί= β€Ήβ€Ή= == !=

 β€Ή= β€Ί= && || ++ -- , -β€Ί* -β€Ί

 () []

R.17.6 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

 ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

 ΡΠΎΡΡ‚Π°Π²Π½ΠΎΠΉ-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

 Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠΉ-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-Ρ†ΠΈΠΊΠ»Π°

 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°

 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-описания

ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

 ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ : ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

 case Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅-константа : ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

 default : ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅:

 Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ opt;

составной-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

 { список-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² opt }

список-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ²:

 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

 ΡΠΏΠΈΡΠΎΠΊ-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‰ΠΈΠΉ-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€:

 if ( Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

 if ( Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ else ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

 switch ( Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-Ρ†ΠΈΠΊΠ»Π°:

 while ( Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ) ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

 do ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ while ( Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ )

 for ( ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-ΠΈΠ½ΠΈΡ† Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ opt ; Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ opt ) ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-ΠΈΠ½ΠΈΡ†:

 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

 ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-описаниС

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°:

 break ;

 continue ;

 return Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ opt ;

 goto ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ;

ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€-описания:

 ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅

R.17.7 ΠŸΡ€Π΅ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€

#define ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ строка-лСксСм

#define ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ( ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ , … , ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ )  ΡΡ‚Ρ€ΠΎΠΊΠ°-лСксСм

#include "имяфайла"

#include ‹имяфайла›

#line константа "имяфайла" opt

#undef ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

условноС:

 Ρ‡Π°ΡΡ‚ΡŒ-if части-elif opt Ρ‡Π°ΡΡ‚ΡŒ-else opt строка-endif

Ρ‡Π°ΡΡ‚ΡŒ-if:

 ΡΡ‚Ρ€ΠΎΠΊΠ°-if тСкст

строка-if:

 # if Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅-константа

 # ifdef ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

 # ifndef ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

части-elif:

 ΡΡ‚Ρ€ΠΎΠΊΠ°-elif тСкст

 Ρ‡Π°ΡΡ‚ΠΈ-elif строка-elif тСкст

строка-elif:

 # elif Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅-константа

Ρ‡Π°ΡΡ‚ΡŒ-else:

 ΡΡ‚Ρ€ΠΎΠΊΠ°-else тСкст

строка-else:

 # else

строка-endif:

 # endif

R.17.8 Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Ρ‚ΠΈΠΏΠ°

описаниС-шаблона-Ρ‚ΠΈΠΏΠ°:

 template β€Ή список-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²-шаблона-Ρ‚ΠΈΠΏΠ° β€Ί описаниС

список-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²-шаблона-Ρ‚ΠΈΠΏΠ°:

 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€-шаблона-Ρ‚ΠΈΠΏΠ°

 ΡΠΏΠΈΡΠΎΠΊ-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²-шаблона-Ρ‚ΠΈΠΏΠ° , ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€-шаблона-Ρ‚ΠΈΠΏΠ°

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€-шаблона-Ρ‚ΠΈΠΏΠ°:

 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€-Ρ‚ΠΈΠΏΠ°

 ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°

ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€-Ρ‚ΠΈΠΏΠ°:

 class ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

имя-шаблонного-класса:

 ΠΈΠΌΡ-шаблона-Ρ‚ΠΈΠΏΠ° β€Ή список-ΠΏΠ°Ρ€Π°ΠΌ-шаблона-Ρ‚ΠΈΠΏΠ° β€Ί

список-ΠΏΠ°Ρ€Π°ΠΌ-шаблона-Ρ‚ΠΈΠΏΠ°:

 ΠΏΠ°Ρ€Π°ΠΌ-шаблона-Ρ‚ΠΈΠΏΠ°

 ΡΠΏΠΈΡΠΎΠΊ-ΠΏΠ°Ρ€Π°ΠΌ-шаблона-Ρ‚ΠΈΠΏΠ° , ΠΏΠ°Ρ€Π°ΠΌ-шаблона-Ρ‚ΠΈΠΏΠ°

ΠΏΠ°Ρ€Π°ΠΌ-шаблона:

 Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅

 ΠΈΠΌΡ-Ρ‚ΠΈΠΏΠ°

R.17.9 ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° особых ситуаций

провСряСмый-Π±Π»ΠΎΠΊ:

 try составной-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ список-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

список-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²:

 ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ список-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² opt

ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ:

 catch ( описаниС-особой-ситуации ) составной-ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€

описаниС-особой-ситуации:

 ΡΠΏΠΈΡΠΎΠΊ-спСцификаций-Ρ‚ΠΈΠΏΠ° ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ

 ΡΠΏΠΈΡΠΎΠΊ-спСцификаций-Ρ‚ΠΈΠΏΠ° абстрактный-ΠΎΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ

 ΡΠΏΠΈΡΠΎΠΊ-спСцификаций-Ρ‚ΠΈΠΏΠ°

 β€¦

Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅-запуска:

 throw Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ opt

спСцификация-особой-ситуации:

 throw ( список-Ρ‚ΠΈΠΏΠ° opt )

список-Ρ‚ΠΈΠΏΠ°:

 ΠΈΠΌΡ-Ρ‚ΠΈΠΏΠ°

 ΡΠΏΠΈΡΠΎΠΊ-Ρ‚ΠΈΠΏΠ° , имя-Ρ‚ΠΈΠΏΠ°

R.18 ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ B: Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ

Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ относится ΠΊ справочному руководству C++ ΠΈ Π½Π΅ являСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ конструкций языка.

Π―Π·Ρ‹ΠΊ C++ основываСтся Π½Π° Π‘ (описаниС Π² ΠΊΠ½ΠΈΠ³Π΅ ΠšΠ΅Ρ€Π½ΠΈΠ³Π°Π½Π° ΠΈ Π ΠΈΡ‚Ρ‡ΠΈ, 78 Π³., дальшС K&R) ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² ANSI стандартС для Π‘. ΠŸΡ€ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π½Π° языках Π‘++, K&R C ΠΈ ANSI C ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ трудности Π² связи с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ вычислСниСм Π² Π½ΠΈΡ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. Вранслятор Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ всС различия ΠΌΠ΅ΠΆΠ΄Ρƒ C++ ΠΈ ANSI C. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° C++ ΠΈ ANSI C Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ смысл Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Ρ€Π΅Ρ… ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… случаСв:

β€’ Π’ языкС Π‘ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ sizeof('a') Ρ€Π°Π²Π½ΠΎ sizeof(int), Π° Π² C++ ΠΎΠ½ΠΎ Ρ€Π°Π²Π½ΠΎ sizeof(char).

β€’ Если Π΅ΡΡ‚ΡŒ описаниС

enum e { A };

Ρ‚ΠΎ sizeof(A) Ρ€Π°Π²Π½ΠΎ Π² Π‘ sizeof(int), Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Π² C++ ΠΎΠ½ΠΎ Ρ€Π°Π²Π½ΠΎ sizeof(e) ΠΈ Π½Π΅ обязано Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½ΠΎ sizeof(int).

β€’ Имя структуры, описанной Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ Π±Π»ΠΎΠΊΠ΅, ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, элСмСнта пСрСчислСния ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏΠ° ΠΈΠ· внСшнСго Π±Π»ΠΎΠΊΠ°.