Философия программирования на языке С++ (2-е издание) - 2006

Embed Size (px)

DESCRIPTION

Якушев Д.М. -

Text of Философия программирования на языке С++ (2-е издание) -...

  • ++ ,

    . .49 ++. / . .

    . 2 . .: , 2006. 320 .ISBN 5964300286

    C++ , AT&T. C++ ( , , with classes) Simula ( , 1967 ). , , C++, ; , .

    C++ ( ) . ++ ( , , ) .

    ++. , .

    004.43 32.973.202

    004.43 32.973.202

    49

    . ., 2006ISBN 5964300286 , 2006

  • 1. ++

    1. ++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

    2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

    3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10

    4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

    5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12

    6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

    7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

    8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13

    9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

    10. LVALUE () . . . . . . . . . . . . . . . . . . . . . . . . .15

    11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15

    12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17

    13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18

    14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .31

    15. . . . . . . . . . . . . . . . . . . . . . .31

    16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34

    17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .39

    18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51

    19. . . . . . . . . . . . . . . . . . . . . .58

    20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .59

    21. As . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .60

    22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .61

    23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .66

    24. . . . . . . . . . . . . . . . . . . . . .68

    25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70

    26. . . . . . . . . . . . . . . . . . . . . . . . . . .75

    27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76

    2. ++

    1. . . . . . . . . . . . . . . . . . . . .78

    2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79

    3. TURBO C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79

    4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80

    5. , . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87

    6. , . . . . . . . . . . . . . . . . . . . . . . .91

    7. . . . . . . . . . . . . . . . . . . . . . . . . . .95

    8. . . . . . . . . . . .95

    9. . . . . . . . . . . . . .96

    10. . . . . . . . . . . . . . . . . . . . . . . . . . . . .98

    11. , define . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .100

    3.

    1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103

    2. STLport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104

    3. Microsoft: C# . . . . . . . . . . . . . .106

    4. C++ Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108

    5. . . . . . . . . . . . . . . . . . . . . . .111

    6. . . . . . . . . . . . . . .116

    7. . . . . . . . . . . . . . . . . . . . . . . . . . . . .122

    8. . . . . . . . . . . . .126

    317 318

  • 9. goto . . . . . . . . . . . . . . . . . .132

    10. . . . . . . . . . . . . . . . . . . . . . . . . . . .136

    11. . . . . . . . . . . . . . . . . . . . . . . . . . . . .141

    12. gets() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .143

    13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146

    14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149

    15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .154

    16. . . . . . . . . . . . . . . . . . . . . . . . . . .158

    17. ploticus . . . . . . . . . . . . . . .161

    18. . . . . . . . . . . .164

    19. C/C++ EMX Watcom . . . . . . . . . .183

    20. #import . . . . . . . . . . . . . . . . . . .188

    21. Windows Borland C++ Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204

    . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214

    ++

    . . . .

    . . . .

    . . . .

    . . , . .

    07.05.2006. 60x90/16. . . .

    . . 20. 3000.

    319

  • 1. ++

    1.++

    C++ , AT&T. C++ ( , , with classes) Simula ( , 1967 ). , ( C++), ; , , . , , . , ( ) ; , . , , , , Modula2 Ada, . , C++.

    , C++ , , . , ( ) cfront, , C++ . , , ; , C++ .

    C++, , . , , ;

    GTK+, . , ( ) , .. , .

    , ( , ), C++, , . , ( , , ), main() .. , C++ ,, , ( , , ) ( ). , C++ ( ) . ? ( , , ) . (.., , , , ), . . , , C++ .

    C++ , , , . , , , , ( ), . , , ( , ) ( ) . , STL (std::cin std::cout).

    ++ 3 4 ++

  • ++. , ( ), , .

    C++ C*, , inline, , , , , , .

    , , , , .

    , , .

    ++ . , , .

    ++ .

    ++ . , ++, , .

    ++:

    ++ ;

    ++ ;

    ++ ;

    ;

    ++ ;

    ;

    , .. , ;

    ++ , .

    2.

    : , ,, , . , , ( ), , , , .

    , , . , , , .

    /* ,

    */. .

    // , , .

    ()

    ; ; '_' ; .

    ++ 5 6 ++

  • :

    asm

    auto

    break

    case

    char

    class

    const

    continue

    default

    delete

    do

    double

    else

    enum

    extern

    float

    for

    friend

    goto

    if

    inline

    int

    long

    new

    operator

    overload

    public

    register

    return

    short

    sizeof

    static

    struct

    switch

    this

    typedef

    union

    unsigned

    virtual

    void

    while

    signed volatile .

    .

    , .

    , ,

    , 0 ( ), . 8 9 .

    , 0 0, .

    f F, 10 15.

    , , (long); ,

    ++ 7 8 ++

  • , long; int.

    , ,

    l ( ) L, .

    ,

    (), , , ''. ().

    int. , ' \, escape:

    NL(LF) \n

    NT \t

    VT \v

    BS \b

    CR \r

    FF \f

    \ \\

    () ' \'

    0ddd \ddd

    0xddd \xddd

    Escape \ddd , 1, 2 3 , . \0( ), NULL.

    Escape \xddd , 1, 2 3 , . , .

    ,

    , , (, , ). . ( ) ; , () ( ) . double.

    , ,

    int.

    . *const; , , const.

    ,

    : .... static, .

    () \0 , .

    " \; , escape, .

    , , \; , \ , .

    3.

    , .

    ++ 9 10 ++

  • . opt, { opt} .

    () , , ,

    . . , . , .

    . , . , , , .

    4.

    : , , .

    , , .

    , , . , .

    , , , , .

    , , >.

    :: , .

    , , , .

    . , .

    , ::.

    , , , , class, struct union. enum, , , , enum.

    5.

    , , , , extern (1) , .

    6.

    , static, . . , .

    , , , .

    , . ,, inline const, , , .

    ++ 11 12 ++

  • .

    , const, , const, extern . inline.

    7.

    :

    .

    .

    .

    new delete.

    8.

    , (char), , , .

    , short int, int long int. (long int) , (short int), , , .

    , ; , .

    . enum int. , unsigned, 2n, n .

    (float) (double) .

    , .

    char, int enum . float d