E__ , "Mmm dd yyyy" "Mmm d yyyy", 10, ( Mmm , dd - , yyyy - ). __TIME__ , "hh:mm:ss", ( hh , mm - , ss - ). , ++ __cplusplus. , . __LINE__ __FILE__ #line ($$R.16.6). __STDC, , , . R.17 A:  C++. ++. , , ++. , ($$r.6.8, $$R.7.1, $$R.10.1.1). , , , , . R.17.1  : typedef ($$R.7.1.3), ($$R.9), ($$R.7.2), - ($$R.14) , , , : -: -: -typedef: , -typedef, , - ($$R.9.1). R.17.2  : - , - -: - - - - -: = *= /= %= += -= >>= <<= &= ^= |= -: -- -- ? : - --: -- -- || -- --: - -- && - -: -- - | -- --: - -- ^ - -: - - & - -: - - == - - != - -: - - < - - > - - <= - - >= - -: - - << - >> -: - + - - - - -: -pm - * -pm - / -pm - % -pm -pm: - -pm .* - -pm ->* - -: - ( - ) - -: - ++ -- - - sizeof - sizeof ( - ) - - -: * & + - ! ~ -: ::opt new -new opt --new -new ::opt new -new opt ( - ) -new -new: ( - ) --new: -- -new opt -new: * --cv opt -new opt - :: --cv opt -new opt -new opt [ ] -new: ( - opt ) -: ::opt delete - ::opt delete [] - -: - - [ ] - ( - opt ) -- ( - opt ) - . - -> - ++ - -- -: - - , - -: this :: :: -- :: - ( ) : -- -- ~- - -: -- :: : R.17.3  : - opt - opt ; -asm - - -: -- - -fct -- friend typedef -: - opt - --: auto register static extern -fct: inline virtual -: -- - - -- :: - const volatile --: -- -- char short int long signed unsigned float double void --: -- - -- --: class struct union --: -typedef - :: -- --: -- :: -- --: - - :: -- -: -: enum opt { - } -: - - , - -: = - -: extern - { - opt } extern - -: - -asm: asm ( -) ; R.17.4  -: -- - , -- --: opt : -- -ptr (--) --cv opt [ - opt] ( ) -ptr: * --cv opt & --cv opt -- :: * --cv opt --cv: 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:  ++ . ++ ( , 78 ., K&R) , ANSI . ++, K&R C ANSI C . ++ ANSI C. ++ ANSI C : sizeof('a') sizeof(int), ++ sizeof(char). enum e { A }; sizeof(A) sizeof(int), ++ sizeof(e) sizeof(int). , , , , . : int x[99]; void f() { struct x { int a; }; sizeof(x); /* C */ /* C++ */ } R.18.1  , ++. R.18.1.1 ++, 1985 . , , ++ 1985 . ($$R.8.2.5), ($$R.5.2.2). ($$R.5.2.2). ANSI C. float ($$R.3.6.1 $$R.4.3). ANSI C. ; $$R.13. ; $$R.13.4 ; $$R.7.1.2. , , const; $$R.7.1.6. ANSI C. ; $$R.8.2.2 $$R.8.4.3. new delete; $$R.5.3.3 $$R.5.3.4. , : ($$R.11), ($$R.12.1), ($$R.12.3) ($$R.10.2). ; $$R.9. c , const volatile, void*. ANSI C. void*; $$R.4.6. ; $$R.6.7. ; $$R.9.5. R.18.1.2 , ++ 1985 . ++ 1985 .: ( ); $$R.10.1. ; $$R.11. new delete ; $$r.5.3.3, $$R.5.3.4, $$R.12.5. " this" ; $$R.18.3.3. ; $$R.12.4. ; $$R.12.8. overload ; $$R.18.3. ; $$R.8.4. , , volatile; $$R.7.1.6. ANSI C. ; $$R.9.4. - ; $$R.9.4. - const volatile; $$R.9.3.1. ; $$R.7.4. ->, ->* ` ; $$R.13.4. ; $$R.10.3. . ; $$R.14. ; $$R.15. R.18.2 ++ ANSI C ++ , ANSI C, ANSI C ++, . : ANSI C, ++, ++; $$R.2.4: asm catch class delete friend inline new operator private protected public template try this virtual throw ANSI C, ; ++ ; $$R.2.3. ++ , ; $$R.5.2.2. f(); ++ , f ($$R.8.2.5), , f . ANSI C. ANSI C extern , ++ ; $$R.3.3 ++ , typedef, ; $$R.9.1. ANSI C void* , ; ++ $$R.7.1.6. ANSI C , ; ++ . ANSI C const ; ++ ; $$R.3.3. "" ++ , ; $$R.18.3.1. ANSI C . ++ (struct) ($$R.3.2); ANSI C , , . , , ++ ; $$R.7.2. ANSI C . , , ; $$R.8.4.2. ++ char ($$R.2.5.2) int ANSI C. ++ ($$R.7.2) int ANSI C. , ANSI , ++ . , . ++ ; $$R.3.3. R.18.2.1  ++ , ANSI C. , $$R.18.2, ++. ++ ANSI C , , . ++ , , .. . f(void), f(). const static extern. ANSI C ++ __cplusplus. , , , , . R.18.3  ++ , , ++. , . , . ++ . overload - ($$R.7). -, . , , ($$R.8.4, $$R.9.4), . ( ANSI C). int. , , ; $$R.5.3.4. operator++() , ++; --; $$R.13.4.6. R.18.3.1  : --: - opt -- - opt - --: ( - opt ) -: - , : max(a,b) int b; { return (a<b) ? b : a; } , (...), .. . , , . -. R.18.3.2 - ($$R.12.6.2) -, , () . class B { // ... public: B(int); }; class D : public B { // ... D(int i) : (i) { /* ... */ } }; B i. R.18.3.3 this this, . . this , . , , : class Z { int z[10]; Z() { this = my_allocator(sizeof(Z) ); } ~Z() { my_deallocator (this); this = 0; } }; ( auto static), this . , this . this, this , . , this *const, this const. R.18.3.4 - - - , (int (*) ())p->f. , - . . R.18.3.5  , , ( struct ), : struct S { struct T { int a; }; int b; }; struct T x; // `S::T x;'   auto break case catch char class const continue default delete do double else enum extern float for friend goto if inline int long new operator private protected public register return short signed sizeof static struct switch template this throw try typedef union unsigned virtual void volatile while  () 68 (ANSI) () - - () - - - - - - - \t - -- -- -- - auto \n () double float long long double unsigned ( ) error null pragma () case default ASCII EBCDIC - friend \ - - const volatile break continue do for goto if return switch () while - - - (operator) UNIX ! # ## %= && &= *= ++ += , -- -= /= :: <<= >>= ^= >> << - ( ? : ) delete new sizeof asm extern friend register typedef - -- -- - - - - - inline -- -- \f ( ) ( ) - -- *= + ++ - -- -> =