╤σ≡Γσ≡ ╚φ⌠ε≡∞α÷Φεφφ√⌡ ╥σ⌡φεδεπΦΘ ±εΣσ≡µΦ≥ ∞ε≡σ(!) αφαδΦ≥Φ≈σ±ΩεΘ Φφ⌠ε≡∞α÷ΦΦ |
╤σ≡Γσ≡ ∩εΣΣσ≡µΦΓασ≥± |
---|
▀τ√Ω ∩≡επ≡α∞∞Φ≡εΓαφΦ C++ - ²≥ε C*1, ≡α±°Φ≡σφφ√Θ ΓΓσΣσφΦσ∞ Ωδα±±εΓ, inline-⌠≤φΩ÷ΦΘ, ∩σ≡σπ≡≤µσφφ√⌡ ε∩σ≡α÷ΦΘ, ∩σ≡σπ≡≤µσφφ√⌡ Φ∞σφ ⌠≤φΩ÷ΦΘ, Ωεφ±≥αφ≥φ√⌡ ≥Φ∩εΓ, ±±√δεΩ, ε∩σ≡α÷ΦΘ ≤∩≡αΓδσφΦ ±ΓεßεΣφεΘ ∩α∞ ≥ⁿ■, ∩≡εΓσ≡ΩΦ ∩α≡α∞σ≥≡εΓ ⌠≤φΩ÷ΦΘ. ╩ε≡ε≥Ωε ≡ατδΦ≈Φ ∞σµΣ≤ ╤++ Φ "±≥α≡√∞ ╤" ∩≡ΦΓσΣσφ√ Γ #15. ┬ ²≥ε∞ ≡≤ΩεΓεΣ±≥Γσ ε∩Φ±√Γασ≥± τ√Ω ∩ε ±ε±≥ε φΦ■ φα ╚■φⁿ 1985.
┼±≥ⁿ °σ±≥ⁿ Ωδα±±εΓ δσΩ±σ∞: ΦΣσφ≥Φ⌠ΦΩα≥ε≡√, Ωδ■≈σΓ√σ ±δεΓα,
Ωεφ±≥αφ≥√, ±≥≡εΩΦ, ε∩σ≡α≥ε≡√ Φ ∩≡ε≈Φσ ≡ατΣσδΦ≥σδΦ. ╤Φ∞Γεδ√ ∩≡εßσδα,
≥αß≤δ ÷ΦΦ Φ φεΓεΘ ±≥≡εΩΦ, α ≥αΩµσ Ωε∞∞σφ≥α≡ΦΦ (±εßΦ≡α≥σδⁿφε -
"ßσδ√σ ∞σ±≥α"), ΩαΩ ε∩Φ±αφε φΦµσ, Φπφε≡Φ≡≤■≥± , τα Φ±Ωδ■≈σφΦσ∞ ≥σ⌡
±δ≤≈ασΓ, ΩεπΣα εφΦ ±δ≤µα≥ ≡ατΣσδΦ≥σδ ∞Φ δσΩ±σ∞. ═σΩεσ ∩≤±≥εσ ∞σ±≥ε
φσεß⌡εΣΦ∞ε Σδ ≡ατΣσδσφΦ ΦΣσφ≥Φ⌠ΦΩα≥ε≡εΓ, Ωδ■≈σΓ√⌡ ±δεΓ Φ
Ωεφ±≥αφ≥, Ωε≥ε≡√σ Γ ∩≡ε≥ΦΓφε∞ ±δ≤≈ασ εΩαµ≤≥± ±ε∩≡ΦΩα±α■∙Φ∞Φ± .
┼±δΦ Γ⌡εΣφεΘ ∩ε≥εΩ ≡ατεß≡αφ φα δσΩ±σ∞√ Σε Σαφφεπε ±Φ∞Γεδα,
∩≡ΦφΦ∞ασ≥± , ≈≥ε ±δσΣ≤■∙α δσΩ±σ∞α ±εΣσ≡µΦ≥ φαΦßεδσσ ΣδΦφφ≤■ ±≥≡εΩ≤
±Φ∞ΓεδεΓ Φτ ≥σ⌡, ≈≥ε ∞επ≤≥ ±ε±≥αΓΦ≥ⁿ δσΩ±σ∞≤.
╤Φ∞Γεδ√ /* ταΣα■≥ φα≈αδε Ωε∞∞σφ≥α≡Φ , ταΩαφ≈ΦΓα■∙σπε± ±Φ∞Γεδα∞Φ */. ╩ε∞∞σφ≥α≡ΦΦ φσ ∞επ≤≥ ß√≥ⁿ Γδεµσφφ√∞Φ. ╤Φ∞Γεδ√ // φα≈Φφα■≥ Ωε∞∞σφ≥α≡ΦΘ, Ωε≥ε≡√Θ ταΩαφ≈ΦΓασ≥± Γ Ωεφ÷σ ±≥≡εΩΦ, φα Ωε≥ε≡εΘ εφΦ ∩ε ΓΦδΦ±ⁿ.
╚Σσφ≥Φ⌠ΦΩα≥ε≡ - ∩ε±δσΣεΓα≥σδⁿφε±≥ⁿ ß≤ΩΓ Φ ÷Φ⌠≡ ∩≡εΦτΓεδⁿφεΘ ΣδΦφ√; ∩σ≡Γ√Θ ±Φ∞Γεδ εß ταφ ß√≥ⁿ ß≤ΩΓεΘ; ∩εΣ≈σ≡Ω '_' ±≈Φ≥ασ≥± τα ß≤ΩΓ≤; ß≤ΩΓ√ Γ Γσ≡⌡φσ∞ Φ φΦµφσ∞ ≡σπΦ±≥≡α⌡ Γδ ■≥± ≡ατδΦ≈φ√∞Φ.
╤δσΣ≤■∙Φσ ΦΣσφ≥Φ⌠ΦΩα≥ε≡√ τα≡στσ≡ΓΦ≡εΓαφ√ Σδ Φ±∩εδⁿτεΓαφΦ Γ Ωα≈σ±≥Γσ Ωδ■≈σΓ√⌡ ±δεΓ Φ φσ ∞επ≤≥ Φ±∩εδⁿτεΓα≥ⁿ± Φφ√∞ εß≡ατε∞:
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
2.4.1 ╓σδ√σ Ωεφ±≥αφ≥√ | |
2.4.2 ▀Γφε ταΣαφφ√σ ΣδΦφφ√σ Ωεφ±≥αφ≥√ | |
2.4.3 ╤Φ∞Γεδⁿφ√σ Ωεφ±≥αφ≥√ | |
2.4.4 ╩εφ±≥αφ≥√ ± ∩δαΓα■∙σΘ ≥ε≈ΩεΘ | |
2.4.5 ╧σ≡σ≈Φ±δΦ∞√σ Ωεφ±≥αφ≥√ | |
2.4.6 ╬∩Φ±αφφ√σ Ωεφ±≥αφ≥√ |
╩αΩ ε∩Φ±αφε φΦµσ, σ±≥ⁿ φσ±ΩεδⁿΩε ΓΦΣεΓ Ωεφ±≥αφ≥. ┬ #2.6 ∩≡ΦΓεΣΦ≥± Ω≡α≥Ωα ±ΓεΣΩα α∩∩α≡α≥φ√⌡ ⌡α≡αΩ≥σ≡Φ±≥ΦΩ, Ωε≥ε≡√σ ΓδΦ ■≥ φα Φ⌡ ≡ατ∞σ≡√.
╓σδα Ωεφ±≥αφ≥α, ±ε±≥ε ∙α Φτ ∩ε±δσΣεΓα≥σδⁿφε±≥Φ ÷Φ⌠≡, ±≈Φ≥ασ≥± Γε±ⁿ∞Φ≡Φ≈φεΘ, σ±δΦ εφα φα≈Φφασ≥± ± 0 (÷Φ⌠≡√ φεδⁿ), Φ Σσ± ≥Φ≈φεΘ Γ ∩≡ε≥ΦΓφε∞ ±δ≤≈ασ. ╓Φ⌠≡√ 8 Φ 9 φσ Γδ ■≥± Γε±ⁿ∞Φ≡Φ≈φ√∞Φ ÷Φ⌠≡α∞Φ. ╧ε±δσΣεΓα≥σδⁿφε±≥ⁿ ÷Φ⌠≡, Ωε≥ε≡εΘ ∩≡σΣ°σ±≥Γ≤σ≥ 0⌡ ΦδΦ 0╒, Γε±∩≡ΦφΦ∞ασ≥± ΩαΩ °σ±≥φαΣ÷α≥σ≡Φ≈φεσ ÷σδεσ. ┬ °σ±≥φαΣ÷α≥σ≡Φ≈φ√σ ÷Φ⌠≡√ Γ⌡εΣ ≥ ß≤ΩΓ√ ε≥ α ΦδΦ └ Σε f ΦδΦ F, Φ∞σ■∙Φσ τφα≈σφΦ ε≥ 10 Σε 15. ─σ± ≥Φ≈φα Ωεφ±≥αφ≥α, τφα≈σφΦσ Ωε≥ε≡εΘ ∩≡σΓ√°ασ≥ φαΦßεδⁿ°σσ ∞α°Φφφεσ ÷σδεσ ±ε τφαΩε∞, ±≈Φ≥ασ≥± ΣδΦφφεΘ (long); Γε±ⁿ∞σ≡Φ≈φα Φ °σ±≥φαΣ÷α≥σ≡Φ≈φα Ωεφ±≥αφ≥α, τφα≈σφΦσ Ωε≥ε≡εΘ ∩≡σΓ√°ασ≥ φαΦßεδⁿ°σσ ∞α°Φφφεσ ÷σδεσ ±ε τφαΩε∞, ±≈Φ≥ασ≥± long; Γ ε±≥αδⁿφ√⌡ ±δ≤≈α ⌡ ÷σδ√σ Ωεφ±≥αφ≥√ ±≈Φ≥α■≥± int.
─σ± ≥Φ≈φα , Γε±ⁿ∞Φ≡Φ≈φα ΦδΦ °σ±≥φαΣ÷α≥Φ≡Φ≈φα Ωεφ±≥αφ≥α, τα Ωε≥ε≡εΘ φσ∩ε±≡σΣ±≥Γσφφε ±≥εΦ≥ l (δα≥Φφ±Ωα ß≤ΩΓα "²δⁿ") ΦδΦ L, ±≈Φ≥ασ≥± ΣδΦφφεΘ Ωεφ±≥αφ≥εΘ.
±Φ∞Γεδ φεΓεΘ ±≥≡εΩΦ | NL(LF) | \n |
πε≡Φτεφ≥αδⁿφα ≥αß≤δ ÷Φ | NT | \t |
Γσ≡≥ΦΩαδⁿφα ≥αß≤δ ÷Φ | VT | \v |
ΓετΓ≡α≥ φα °απ | BS | \b |
ΓετΓ≡α≥ Ωα≡σ≥ΩΦ | CR | \r |
∩σ≡σΓεΣ ⌠ε≡∞α≥α | FF | \f |
εß≡α≥φα Ωε±α | \ | \\ |
εΣΦφε≈φα ΩαΓ√≈Ωα (α∩ε±≥≡ε⌠) | ' | \' |
φαßε≡ ßΦ≥εΓ | 0ddd | \ddd |
φαßε≡ ßΦ≥εΓ | 0xddd | \xddd |
╩εφ±≥αφ≥α ± ∩δαΓα■∙σΘ ≥ε≈ΩεΘ ±ε±≥εΦ≥ Φτ ÷σδεΘ ≈α±≥Φ, Σσ± ≥Φ≈φεΘ ≥ε≈ΩΦ, ∞αφ≥Φ±±√, σ ΦδΦ ┼ Φ ÷σδεπε ∩εΩατα≥σδ ±≥σ∩σφΦ (Γετ∞εµφε, φε φσ εß τα≥σδⁿφε, ±ε τφαΩε∞). ╓σδα ≈α±≥ⁿ Φ ∞αφ≥Φ±±α εßσ ±ε±≥ε ≥ Φτ ∩ε±δσΣεΓα≥σδⁿφε±≥Φ ÷Φ⌠≡. ╓σδα ≈α±≥ⁿ ΦδΦ ∞αφ≥Φ±±α (φε φσ εßσ ±≡ατ≤) ∞εµσ≥ ß√≥ⁿ ε∩≤∙σφα; ΦδΦ Σσ± ≥Φ≈φα ≥ε≈Ωα, ΦδΦ σ(┼) Γ∞σ±≥σ ± ÷σδ√∞ ∩εΩατα≥σδσ∞ ±≥σ∩σφΦ (φε φσ εßσ ≈α±≥Φ εΣφεΓ≡σ∞σφφε) ∞εµσ≥ ß√≥ⁿ ε∩≤∙σφα. ╩εφ±≥αφ≥α ± ∩δαΓα■∙σΘ ≥ε≈ΩεΘ Φ∞σσ≥ ≥Φ∩ double.
╚∞σφα, ε∩Φ±αφφ√σ ΩαΩ ∩σ≡σ≈Φ±δΦ≥σδΦ, (±∞. #8.5) Γδ ■≥± Ωεφ±≥αφ≥α∞Φ ≥Φ∩α int.
╬ß·σΩ≥ (#5) δ■ßεπε ≥Φ∩α ∞εµσ≥ ß√≥ⁿ ε∩≡σΣσδσφ ΩαΩ Φ∞σ■∙ΦΘ ∩ε±≥ε φφεσ τφα≈σφΦσ Γε Γ±σΘ εßδα±≥Φ ΓΦΣΦ∞ε±≥Φ (#4.1) σπε Φ∞σφΦ. ┬ ±δ≤≈ασ ≤Ωατα≥σδσΘ Σδ Σε±≥ΦµσφΦ ²≥επε Φ±∩εδⁿτ≤σ≥± ΣσΩδα≡α≥ε≡ *const; Σδ εß·σΩ≥εΓ, φσ Γδ ■∙Φ⌡± ≤Ωατα≥σδ ∞Φ, Φ±∩εδⁿτ≤σ≥± ε∩Φ±α≥σδⁿ const (#8.2).
╤≥≡εΩα σ±≥ⁿ ∩ε±δσΣεΓα≥σδⁿφε±≥ⁿ ±Φ∞ΓεδεΓ, ταΩδ■≈σφφα Γ ΣΓεΘφ√σ ΩαΓ√≈ΩΦ: "...". ╤≥≡εΩα Φ∞σσ≥ ≥Φ∩ "∞α±±ΦΓ ±Φ∞ΓεδεΓ" Φ Ωδα±± ∩α∞ ≥Φ static (±∞. #4), εφα ΦφΦ÷ΦαδΦτΦ≡≤σ≥± ταΣαφφ√∞Φ ±Φ∞Γεδα∞Φ. ┬±σ ±≥≡εΩΦ, Σαµσ σ±δΦ εφΦ τα∩Φ±αφ√ εΣΦφαΩεΓε, ≡ατδΦ≈φ√. ╩ε∞∩Φδ ≥ε≡ ≡α±∩εδαπασ≥ Γ Ωεφ÷σ ΩαµΣεΘ ±≥≡εΩΦ φ≤δσΓεΘ (∩≤±≥εΘ) ßαΘ≥ \0 ± ≥σ∞, ≈≥εß√ ±ΩαφΦ≡≤■∙α ±≥≡εΩ≤ ∩≡επ≡α∞∞α ∞επδα φαΘ≥Φ σσ Ωεφσ÷. ┬ ±≥≡εΩσ ∩σ≡σΣ ±Φ∞Γεδε∞ ΣΓεΘφεΘ ΩαΓ√≈ΩΦ " εß τα≥σδⁿφε Σεδµσφ ±≥ε ≥ⁿ \; Ω≡ε∞σ ≥επε, ∞επ≤≥ Φ±∩εδⁿτεΓα≥ⁿ± ≥σ µσ escape-∩ε±δσΣεΓα≥σδⁿφε±≥Φ, ≈≥ε ß√δΦ ε∩Φ±αφ√ Σδ ±Φ∞Γεδⁿφ√⌡ Ωεφ±≥αφ≥. ╚, φαΩεφσ÷, ±Φ∞Γεδ φεΓεΘ ±≥≡εΩΦ ∞εµσ≥ ∩ε Γδ ≥ⁿ± ≥εδⁿΩε ±≡ατ≤ ∩ε±δσ \; ≥επΣα εßα, - \ Φ ±Φ∞Γεδ φεΓεΘ ±≥≡εΩΦ, - Φπφε≡Φ≡≤■≥± .
┬ φΦµσ±δσΣ≤■∙σΘ ≥αßδΦ÷σ ±εß≡αφ√ φσΩε≥ε≡√σ ⌡α≡αΩ≥σ≡Φ±≥ΦΩΦ α∩∩α≡α≥φεπε εßσ±∩σ≈σφΦ , ≡ατδΦ≈α■∙Φσ± ε≥ ∞α°Φφ√ Ω ∞α°Φφσ.
_____________________________________________________________ | DEC VAX-11 Motorola 68000 IBM 370 AT&T 3B | | ASCII ASCII EBCDIC ASCII | |___________________________________________________________| | char | 8 ßΦ≥ | 8 ßΦ≥ | 8 ßΦ≥ | 8 ßΦ≥ | | int | 32 ßΦ≥ | 16 ßΦ≥ | 32 ßΦ≥ | 16 ßΦ≥ | | short | 16 ßΦ≥ | 16 ßΦ≥ | 16 ßΦ≥ | 16 ßΦ≥ | | long | 32 ßΦ≥ | 32 ßΦ≥ | 32 ßΦ≥ | 32 ßΦ≥ | | float | 32 ßΦ≥ | 32 ßΦ≥ | 32 ßΦ≥ | 32 ßΦ≥ | | double | 64 ßΦ≥ | 64 ßΦ≥ | 64 ßΦ≥ | 64 ßΦ≥ | | ≤Ωατα≥σδⁿ| 32 ßΦ≥ | 32 ßΦ≥ | 24 ßΦ≥ | 32 ßΦ≥ | | ΣΦα∩ατεφ | | | | | | float | +_10E+_38 | +_10E+_38 | +_10E+_76 | +_10E+_38 | | ΣΦα∩ατεφ | | | | | | double | +_10E+_38 | +_10E+_38 | +_10E+_76 | +_10E+_308 | | ≥Φ∩ char | τφαΩεΓ√Θ | ßστ τφαΩα | ßστ τφαΩα | ßστ τφαΩα | | ≥Φ∩ ∩εδ | τφαΩεΓ√Θ | ßστ τφαΩα | ßστ τφαΩα | ßστ τφαΩα | | ∩ε≡ ΣεΩ | ±∩≡αΓα | ±δσΓα | ±δσΓα | ±δσΓα | | ∩εδσΘ | φαδσΓε | φα∩≡αΓε | φα∩≡αΓε | φα∩≡αΓε | |__________|___________|___________|___________|____________|
╧ε Φ±∩εδⁿτ≤σ∞√∞ Γ Σαφφε∞ ≡≤ΩεΓεΣ±≥Γσ ±Φφ≥αΩ±Φ≈σ±ΩΦ∞ ∩≡αΓΦδα∞ τα∩Φ±Φ ±Φφ≥αΩ±Φ≈σ±ΩΦσ Ωα≥σπε≡ΦΦ Γ√Σσδ ■≥± Ω≤≡±ΦΓε∞ α δΦ≥σ≡αδⁿφ√σ ±δεΓα Φ ±Φ∞Γεδ√ °≡Φ⌠≥ε∞ ∩ε±≥ε φφεΘ °Φ≡Φφ√*2 . └δⁿ≥σ≡φα≥ΦΓφ√σ Ωα≥σπε≡ΦΦ τα∩Φ±√Γα■≥± φα ≡ατφ√⌡ ±≥≡εΩα⌡. ═σεß τα≥σδⁿφ√Θ ≥σ≡∞Φφαδⁿφ√Θ ΦδΦ φσ≥σ≡∞Φφαδⁿφ√Θ ±Φ∞Γεδ εßετφα≈ασ≥± φΦµφΦ∞ ΦφΣσΩ±ε∞ "opt", ≥αΩ ≈≥ε
{ Γ√≡αµσφΦσ opt }
╚∞ εßετφα≈ασ≥ (Σσφε≥Φ≡≤σ≥) εß·σΩ≥, ⌠≤φΩ÷Φ■, ≥Φ∩, τφα≈σφΦσ ΦδΦ ∞σ≥Ω≤. ╚∞ ΓΓεΣΦ≥± Γ ∩≡επ≡α∞∞σ ε∩Φ±αφΦσ∞ (#8). ╚∞ ∞εµσ≥ Φ±∩εδⁿτεΓα≥ⁿ± ≥εδⁿΩε Γφ≤≥≡Φ εßδα±≥Φ ≥σΩ±≥α ∩≡επ≡α∞∞√, φατ√Γασ∞εΘ σπε εßδα±≥ⁿ■ ΓΦΣΦ∞ε±≥Φ. ╚∞ Φ∞σσ≥ ≥Φ∩, ε∩≡σΣσδ ■∙ΦΘ σπε Φ±∩εδⁿτεΓαφΦσ. ╬ß·σΩ≥ - ²≥ε εßδα±≥ⁿ ∩α∞ ≥Φ. ╬ß·σΩ≥ Φ∞σσ≥ Ωδα±± ∩α∞ ≥Φ, ε∩≡σΣσδ ■∙ΦΘ σπε Γ≡σ∞ µΦτφΦ. ╤∞√±δ τφα≈σφΦ , εßφα≡≤µσφφεπε Γ εß·σΩ≥σ, ε∩≡σΣσδ σ≥± ≥Φ∩ε∞ Φ∞σφΦ, Φ±∩εδⁿτεΓαφφεπε Σδ Σε±≥≤∩α Ω φσ∞≤.
┼±≥ⁿ ≈σ≥√≡σ ΓΦΣα εßδα±≥σΘ ΓΦΣΦ∞ε±≥Φ: δεΩαδⁿφα , ⌠αΘδ, ∩≡επ≡α∞∞α Φ Ωδα±±.
╦εΩαδⁿφα : | ╚∞ , ε∩Φ±αφφεσ Γ ßδεΩσ (#9.2), δεΩαδⁿφε Γ ²≥ε∞ ßδεΩσ Φ ∞εµσ≥ Φ±∩εδⁿτεΓα≥ⁿ± ≥εδⁿΩε Γ φσ∞ ∩ε±δσ ∞σ±≥α ε∩Φ±αφΦ Φ Γ ε⌡Γα≥√Γασ∞√⌡ ßδεΩα⌡. ╚±Ωδ■≈σφΦσ ±ε±≥αΓδ ■≥ ∞σ≥ΩΦ (#9.12), Ωε≥ε≡√σ ∞επ≤≥ Φ±∩εδⁿτεΓα≥ⁿ± Γ δ■ßε∞ ∞σ±≥σ ⌠≤φΩ÷ΦΦ, Γ Ωε≥ε≡εΘ εφΦ ε∩Φ±αφ√. ╚∞σφα ⌠ε≡∞αδⁿφ√⌡ ∩α≡α∞σ≥≡εΓ ⌠≤φΩ÷ΦΦ ≡α±±∞α≥≡ΦΓα■≥± ≥αΩ, ΩαΩ σ±δΦ ß√ εφΦ ß√δΦ ε∩Φ±αφ√ Γ ±α∞ε∞ Γφσ°φσ∞ ßδεΩσ ²≥εΘ ⌠≤φΩ÷ΦΦ. |
╘αΘδ: | ╚∞ , ε∩Φ±αφφεσ Γφσ δ■ßεπε ßδεΩα (#9.2) ΦδΦ Ωδα±±α (#8.5), ∞εµσ≥ Φ±∩εδⁿτεΓα≥ⁿ± Γ ⌠αΘδσ, πΣσ εφε ε∩Φ±αφε, ∩ε±δσ ∞σ±≥α ε∩Φ±αφΦ . |
╩δα±±: | ╚∞ ≈δσφα Ωδα±±α δεΩαδⁿφε Σδ σπε Ωδα±±α Φ ∞εµσ≥ Φ±∩εδⁿτεΓα≥ⁿ± ≥εδⁿΩε Γ ⌠≤φΩ÷ΦΦ ≈δσφσ ²≥επε Ωδα±±α (#8.5.2), ∩ε±δσ ∩≡Φ∞σφσφφεΘ Ω εß·σΩ≥≤ σπε Ωδα±±α (#7.1) ε∩σ≡α÷ΦΦ . ΦδΦ ∩ε±δσ ∩≡Φ∞σφσφφεΘ Ω ≤Ωατα≥σδ■ φα εß·σΩ≥ σπε Ωδα±±α (#7.1) ε∩σ≡α÷ΦΦ ->. ═α ±≥α≥Φ≈σ±ΩΦσ ≈δσφ√ Ωδα±±α (#8.5.1) Φ ⌠≤φΩ÷ΦΦ ≈δσφ√ ∞εµφε ≥αΩµσ ±±√δα≥ⁿ± ± ∩ε∞ε∙ⁿ■ ε∩σ≡α÷ΦΦ :: ≥α∞, πΣσ Φ∞ Φ⌡ Ωδα±±α φα⌡εΣΦ≥± Γ εßδα±≥Φ ΓΦΣΦ∞ε±≥Φ. ╩δα±±, ε∩Φ±αφφ√Θ Γφ≤≥≡Φ Ωδα±±α (#8.5.15), φσ ±≈Φ≥ασ≥± ≈δσφε∞, Φ σπε Φ∞ ∩≡ΦφαΣδσµΦ≥ ε⌡Γα≥√Γα■∙σΘ εßδα±≥Φ ΓΦΣΦ∞ε±≥Φ. |
╬∩Φ±αφΦσ (#8) Γδ σ≥± ε∩≡σΣσδσφΦσ∞, τα Φ±Ωδ■≈σφΦσ∞ ≥σ⌡ ±δ≤≈ασΓ, ΩεπΣα εφε ε∩Φ±√Γασ≥ ⌠≤φΩ÷ΦΦ, φσ ταΣαΓα ≥σδα ⌠≤φΩ÷ΦΦ (#10), ΩεπΣα εφε ±εΣσ≡µΦ≥ ±∩σ÷Φ⌠ΦΩα≥ε≡ extern (1) Φ Γ φσ∞ φσ≥ ΦφΦ÷ΦαδΦτα≥ε≡α ΦδΦ ≥σδα ⌠≤φΩ÷ΦΦ, ΦδΦ ΩεπΣα εφε Γδ σ≥± ε∩Φ±αφΦσ∞ Ωδα±±α (#8.8).
╚∞ Γ ⌠αΘδεΓεΘ εßδα±≥Φ ΓΦΣΦ∞ε±≥Φ, φσ ε∩Φ±αφφεσ Γφε ΩαΩ static,
Γδ σ≥± εß∙Φ∞ Σδ ΩαµΣεπε ⌠αΘδα ∞φεπε⌠αΘδεΓεΘ ∩≡επ≡α∞∞√. ╥αΩεΓ√∞
µσ Γδ σ≥± Φ∞ ⌠≤φΩ÷ΦΦ. ╬ ≥αΩΦ⌡ Φ∞σφα⌡ πεΓε≡Φ≥± , ≈≥ε εφΦ Γφσ°φΦσ.
╩αµΣεσ ε∩Φ±αφΦσ Γφσ°φσπε Φ∞σφΦ Γ ∩≡επ≡α∞∞σ ε≥φε±Φ≥± Ω ≥ε∞≤ µσ
εß·σΩ≥≤ (#5), ⌠≤φΩ÷ΦΦ (#8.7), Ωδα±±≤ (#8.5), ∩σ≡σ≈Φ±δσφΦ■ (#8.10 ) ΦδΦ τφα≈σφΦ■ ∩σ≡σ≈Φ±δΦ≥σδ (#8.10).
╥Φ∩√, ±∩σ÷Φ⌠Φ÷Φ≡εΓαφφ√σ Γε Γ±σ⌡ ε∩Φ±αφΦ ⌡ Γφσ°φσπε Φ∞σφΦ Σεδµφ√
ß√≥ⁿ ΦΣσφ≥Φ≈φ√. ╠εµσ≥ ß√≥ⁿ ßεδⁿ°σ εΣφεπε ε∩≡σΣσδσφΦ ≥Φ∩α,
∩σ≡σ≈Φ±δσφΦ , inline-⌠≤φΩ÷ΦΦ (#8.1) ΦδΦ φσ±ε±≥αΓφεπε const (#8.2), ∩≡Φ ≤±δεΓΦΦ, ≈≥ε ε∩≡σΣσδσφΦ ΦΣσφ≥Φ≈φ√, ∩ε Γδ ■≥± Γ ≡ατφ√⌡ ⌠αΘδα⌡ Φ Γ±σ ΦφΦ÷ΦαδΦτα≥ε≡√ Γδ ■≥± Ωεφ±≥αφ≥φ√∞Φ Γ√≡αµσφΦ ∞Φ (#12). ┬ε Γ±σ⌡ ε±≥αδⁿφ√⌡ ±δ≤≈α ⌡ Σεδµφε ß√≥ⁿ ≡εΓφε εΣφε ε∩≡σΣσδσφΦσ Σδ Γφσ°φσπε Φ∞σφΦ Γ ∩≡επ≡α∞∞σ.
╨σαδΦτα÷Φ ∞εµσ≥ ∩ε≥≡σßεΓα≥ⁿ, ≈≥εß√ ±ε±≥αΓφεσ const,
Φ±∩εδⁿτεΓαφφεσ ≥α∞, πΣσ φσ Γ±≥≡σ≈σφε φΦΩαΩεπε ε∩≡σΣσδσφΦ const,
Σεδµφε ß√≥ⁿ Γφε ε∩Φ±αφε extern Φ Φ∞σ≥ⁿ Γ ∩≡επ≡α∞∞σ ≡εΓφε εΣφε
ε∩≡σΣσδσφΦσ. ▌≥ε µσ επ≡αφΦ≈σφΦσ ∞εµσ≥ φαδαπα≥ⁿ± φα inline-⌠≤φΩ÷ΦΦ.
┼±≥ⁿ ΣΓα ε∩Φ±√Γασ∞√⌡ Ωδα±±α ∩α∞ ≥Φ: αΓ≥ε∞α≥Φ≈σ±ΩΦΘ Φ ±≥α≥Φ≈σ±ΩΦΘ.
└Γ≥ε∞α≥Φ≈σ±ΩΦσ εß·σΩ≥√ δεΩαδⁿφ√ Σδ ΩαµΣεπε Γ√τεΓα ßδεΩα Φ ±ß≡α±√Γα■≥± ∩ε Γ√⌡εΣσ Φτ φσπε.
╤≥α≥Φ≈σ±ΩΦσ εß·σΩ≥√ ±≤∙σ±≥Γ≤■≥ Φ ±ε⌡≡αφ ■≥ ±Γεσ τφα≈σφΦσ Γ ≥σ≈σφΦσ Γ√∩εδφσφΦ Γ±σΘ ∩≡επ≡α∞∞√.
═σΩε≥ε≡√σ εß·σΩ≥√ φσ ±Γ ταφ√ ± Φ∞σφα∞Φ Φ Φ⌡ Γ≡σ∞σφα µΦτφΦ Γφε ≤∩≡αΓδ ■≥± ε∩σ≡α≥ε≡α∞Φ new Φ delete ; ±∞. #7.2 Φ #9.14
╬ß·σΩ≥√, ε∩Φ±αφφ√σ ΩαΩ ±Φ∞Γεδ√ (char), Σε±≥α≥ε≈φ√ Σδ ⌡≡αφσφΦ
δ■ßεπε ²δσ∞σφ≥α ∞α°Φφφεπε φαßε≡α ±Φ∞ΓεδεΓ, Φ σ±δΦ ∩≡ΦφαΣδσµα∙ΦΘ
²≥ε∞≤ φαßε≡≤ ±Φ∞Γεδ ⌡≡αφΦ≥± Γ ±Φ∞ΓεδⁿφεΘ ∩σ≡σ∞σφφεΘ, ≥ε σσ
τφα≈σφΦσ ≡αΓφε ÷σδε∞≤ ΩεΣ≤ ²≥επε ±Φ∞Γεδα.
┬ φα±≥ε ∙ΦΘ ∞ε∞σφ≥ Φ∞σ■≥± ÷σδ√σ ≥≡σ⌡ ≡ατ∞σ≡εΓ, ε∩Φ±√Γασ∞√σ ΩαΩ
short int, int Φ long int. ┴εδσσ ΣδΦφφ√σ ÷σδ√σ (long int)
∩≡σΣε±≥αΓδ ■≥ φσ ∞σφⁿ°σ ∩α∞ ≥Φ, ≈σ∞ ßεδσσ Ωε≡ε≥ΩΦσ ÷σδ√σ (short
int), φε ∩≡Φ ≡σαδΦτα÷ΦΦ ΦδΦ ΣδΦφφ√σ, ΦδΦ Ωε≡ε≥ΩΦσ, ΦδΦ Φ ≥σ Φ
Σ≡≤πΦσ ∞επ≤≥ ±≥α≥ⁿ ²ΩΓΦΓαδσφ≥φ√∞Φ εß√≈φ√∞ ÷σδ√∞. "╬ß√≈φ√σ" ÷σδ√σ
Φ∞σ■≥ σ±≥σ±≥Γσφφ√Θ ≡ατ∞σ≡, ταΣαΓασ∞√Θ α≡⌡Φ≥σΩ≥≤≡εΘ ÷σφ≥≡αδⁿφεΘ
∞α°Φφ√; ε±≥αδⁿφ√σ ≡ατ∞σ≡√ Σσδα■≥± ≥αΩΦ∞Φ, ≈≥εß√ εφΦ ε≥Γσ≈αδΦ
±∩σ÷Φαδⁿφ√∞ ∩ε≥≡σßφε±≥ ∞.
╩αµΣεσ ∩σ≡σ≈Φ±δσφΦσ (#8.9) Γδ σ≥± φαßε≡ε∞ Φ∞σφεΓαφφ√⌡ Ωεφ±≥αφ≥. ╤ΓεΘ±≥Γα enum ΦΣσφ≥Φ≈φ√ ±ΓεΘ±≥Γα∞ int.
╓σδ√σ ßστ τφαΩα, ε∩Φ±√Γασ∞√σ ΩαΩ unsigned, ∩εΣ≈Φφ ■≥± ∩≡αΓΦδα∞
α≡Φ⌠∞σ≥ΦΩΦ ∩ε ∞εΣ≤δ■ 2n, πΣσ n - ≈Φ±δε ßΦ≥ Γ Φ⌡ ∩≡σΣ±≥αΓδσφΦΦ.
╫Φ±δα ± ∩δαΓα■∙σΘ ≥ε≈ΩεΘ εΣΦφα≡φεΘ (float) Φ ΣΓεΘφεΘ (double)
≥ε≈φε±≥Φ Γ φσΩε≥ε≡√⌡ ∞α°Φφφ√⌡ ≡σαδΦτα÷Φ ⌡ ∞επ≤≥ ß√≥ⁿ ±ΦφεφΦ∞α∞Φ.
╧ε±ΩεδⁿΩ≤ εß·σΩ≥√ ∩σ≡σ≈Φ±δσφφ√⌡ Γ√°σ ≥Φ∩εΓ Γ∩εδφσ ∞εµφε
Φφ≥σ≡∩≡σ≥Φ≡εΓα≥ⁿ ΩαΩ ≈Φ±δα, ∞√ ß≤Σσ∞ πεΓε≡Φ≥ⁿ ε φΦ⌡ ΩαΩ εß
α≡Φ⌠∞σ≥Φ≈σ±ΩΦ⌡ ≥Φ∩α⌡. ╥Φ∩√ char, int Γ±σ⌡ ≡ατ∞σ≡εΓ Φ enum ß≤Σ≤≥
±εßΦ≡α≥σδⁿφε φατ√Γα≥ⁿ± ÷σδ√∞Φ ≥Φ∩α∞Φ. ╥Φ∩√ float Φ double ß≤Σ≤≥
±εßΦ≡α≥σδⁿφε φατ√Γα≥ⁿ± ∩δαΓα■∙Φ∞Φ ≥Φ∩α∞Φ.
╥Φ∩ Σαφφ√⌡ void (∩≤±≥εΘ) ε∩≡σΣσδ σ≥ ∩≤±≥εσ ∞φεµσ±≥Γε τφα≈σφΦΘ.
╟φα≈σφΦσ (φσ±≤∙σ±≥Γ≤■∙σσ) εß·σΩ≥α void φσδⁿτ Φ±∩εδⁿτεΓα≥ⁿ φΦΩαΩΦ∞
εß≡ατε∞, φσ ∞επ≤≥ ∩≡Φ∞σφ ≥ⁿ± φΦ Γφεσ, φΦ φσ Γφεσ ∩≡σεß≡ατεΓαφΦ .
╧ε±ΩεδⁿΩ≤ ∩≤±≥εσ Γ√≡αµσφΦσ εßετφα≈ασ≥ φσ±≤∙σ±≥Γ≤■∙σσ τφα≈σφΦσ,
≥αΩεσ Γ√≡αµσφΦσ ≥αΩεσ Γ√≡αµσφΦσ ∞εµσ≥ Φ±∩εδⁿτεΓα≥ⁿ± ≥εδⁿΩε ΩαΩ
ε∩σ≡α≥ε≡ Γ√≡αµσφΦσ (#9.1) ΦδΦ ΩαΩ δσΓ√Θ ε∩σ≡αφΣ Γ Γ√≡αµσφΦΦ ± τα∩ ≥εΘ (#7.15). ┬√≡αµσφΦσ ∞εµσ≥ Γφε ∩≡σεß≡ατεΓ√Γα≥ⁿ± Ω ≥Φ∩≤ void (#7.2).
╩≡ε∞σ ε±φεΓφ√⌡ α≡Φ⌠∞σ≥Φ≈σ±ΩΦ⌡ ≥Φ∩εΓ Ωεφ÷σ∩≥≤αδⁿφε ±≤∙σ±≥Γ≤σ≥ ßσ±Ωεφσ≈φε ∞φεπε ∩≡εΦτΓεΣφ√⌡ ≥Φ∩εΓ, ±Ωεφ±≥≡≤Φ≡εΓαφφ√⌡ Φτ ε±φεΓφ√⌡ ≥Φ∩εΓ ±δσΣ≤■∙Φ∞ εß≡ατε∞:
╬ß·σΩ≥ σ±≥ⁿ εßδα±≥ⁿ ∩α∞ ≥Φ; lvalue (αΣ≡σ±) σ±≥ⁿ Γ√≡αµσφΦσ, ±±√δα■∙σσ± φα εß·σΩ≥. ╬≈σΓΦΣφ√Θ ∩≡Φ∞σ≡ αΣ≡σ±φεπε Γ√≡αµσφΦ - Φ∞ εß·σΩ≥α. ┼±≥ⁿ ε∩σ≡α÷ΦΦ, Σα■∙Φσ αΣ≡σ±φ√σ Γ√≡αµσφΦ : φα∩≡Φ∞σ≡, σ±δΦ ┼ - Γ√≡αµσφΦσ ≥Φ∩α ≤Ωατα≥σδⁿ, ≥ε *┼ - αΣ≡σ±φεσ Γ√≡αµσφΦσ, ±±√δα■∙σσ± φα εß·σΩ≥, φα Ωε≥ε≡√Θ ≤Ωατ√Γασ≥ ┼. ╥σ≡∞Φφ "lvalue" ∩≡εΦ±⌡εΣΦ≥ Φτ Γ√≡αµσφΦ ∩≡Φ±ΓαΦΓαφΦ ┼1=┼2, Γ Ωε≥ε≡ε∞ δσΓ√Θ ε∩σ≡αφΣ ┼1 Σεδµσφ ß√≥ⁿ αΣ≡σ±φ√∞ (value) Γ√≡αµσφΦσ∞. ═Φµσ ∩≡Φ εß±≤µΣσφΦΦ ΩαµΣεπε ε∩σ≡α≥ε≡α ≤Ωατ√Γασ≥± , ≥≡σß≤σ≥ δΦ εφ αΣ≡σ±φ√σ ε∩σ≡αφΣ√ Φ ΓετΓ≡α∙ασ≥ δΦ εφ αΣ≡σ±φεσ τφα≈σφΦσ.
╬∩≡σΣσδσφφ√σ ε∩σ≡α÷ΦΦ ∞επ≤≥ Γ ταΓΦ±Φ∞ε±≥Φ ε≥ Φ⌡ ε∩σ≡αφΣεΓ Γ√τ√Γα≥ⁿ ∩≡σεß≡ατεΓαφΦσ τφα≈σφΦ ε∩σ≡αφΣα ε≥ εΣφεπε ≥Φ∩α Ω Σ≡≤πε∞≤. ┬ ²≥εΘ ≈α±≥Φ εß· ±φ σ≥± , ΩαΩεΓ εµΦΣασ∞√Θ ≡στ≤δⁿ≥α≥ ≥αΩΦ⌡ ∩≡σεß≡ατεΓαφΦΘ. ┬ #6.6 ±εΣσ≡µΦ≥± Ω≡α≥Ωεσ ε∩Φ±αφΦσ ∩≡σεß≡ατεΓαφΦΘ, ≥≡σß≤σ∞√⌡ φαΦßεδσσ ±≥αφΣα≡≥φ√∞Φ ε∩σ≡α÷Φ ∞Φ; εφε ß≤Σσ≥ Σε∩εδφ ≥ⁿ± ∩ε ∞σ≡σ φαΣεßφε±≥Φ Γ ∩≡ε÷σ±±σ εß±≤µΣσφΦ ΩαµΣεΘ ε∩σ≡α÷ΦΦ. ┬ #8.5.6 ε∩Φ±√Γα■≥± ∩≡σεß≡ατεΓαφΦ , ε∩≡σΣσδ σ∞√σ ∩εδⁿτεΓα≥σδσ∞.
╤Φ∞Γεδ ΦδΦ Ωε≡ε≥Ωεσ ÷σδεσ ∞επ≤≥ Φ±∩εδⁿτεΓα≥ⁿ± , σ±δΦ ∞εµσ≥
Φ±∩εδⁿτεΓα≥ⁿ± ÷σδεσ. ┬ε Γ±σ⌡ ±δ≤≈α ⌡ τφα≈σφΦσ ∩≡σεß≡ατ≤σ≥± Ω
÷σδε∞≤. ╧≡σεß≡ατεΓαφΦσ Ωε≡ε≥Ωεπε ÷σδεπε Ω ΣδΦφφε∞≤ Γ±σπΣα ΓΩδ■≈ασ≥
Γ ±σß τφαΩεΓεσ ≡α±°Φ≡σφΦσ; ÷σδ√σ Γδ ■≥± ΓσδΦ≈Φφα∞Φ ±ε τφαΩε∞.
╤εΣσ≡µα≥ ±Φ∞Γεδ√ τφαΩεΓ√Θ ≡ατ≡ Σ ΦδΦ φσ≥, Γδ σ≥± ∞α°Φφφε
ταΓΦ±Φ∞√∞; ±∞. #2.6. ┴εδσσ Γφ√Θ ≥Φ∩ unsigned char επ≡αφΦ≈ΦΓασ≥ Φτ∞σφσφΦσ τφα≈σφΦ ε≥ 0 Σε ∞α°Φφφε ταΓΦ±Φ∞επε ∞αΩ±Φ∞≤∞α.
┬ ∞α°Φφα⌡, πΣσ ±Φ∞Γεδ√ ≡α±±∞α≥≡ΦΓα■≥± ΩαΩ Φ∞σ■∙Φσ τφαΩ
(τφαΩεΓ√σ), ±Φ∞Γεδ√ ∞φεµσ±≥Γα ΩεΣα ASCII Γδ ■≥± ∩εδεµΦ≥σδⁿφ√∞Φ.
╬ΣφαΩε, ±Φ∞Γεδⁿφα Ωεφ±≥αφ≥α, ταΣαφφα Γε±ⁿ∞σ≡Φ≈φεΘ esc-
∩ε±δσΣεΓα≥σδⁿφε±≥ⁿ■ ∩εΣΓσ≡πασ≥± τφαΩεΓε∞≤ ≡α±°Φ≡σφΦ■ Φ ∞εµσ≥ ±≥α≥ⁿ
ε≥≡Φ÷α≥σδⁿφ√∞ ≈Φ±δε∞; ≥αΩ φα∩≡Φ∞σ≡, '\377' Φ∞σσ≥ τφα≈σφΦσ -1.
╩επΣα ΣδΦφφεσ ÷σδεσ ∩≡σεß≡ατ≤σ≥± Γ Ωε≡ε≥Ωεσ ΦδΦ Γ char, εφε
≤≡στασ≥± ΓδσΓε; Φτß√≥ε≈φ√σ ßΦ≥√ ∩≡ε±≥ε ≥σ≡ ■≥± .
─δ Γ√≡αµσφΦΘ float ∞επ≤≥ Γ√∩εδφ ≥ⁿ± ΣσΘ±≥ΓΦ α≡Φ⌠∞σ≥ΦΩΦ ± ∩δαΓα■∙σΘ ≥ε≈ΩεΘ εΣΦφα≡φεΘ ≥ε≈φε±≥Φ. ╧≡σεß≡ατεΓαφΦ ∞σµΣ≤ ≈Φ±δα∞Φ εΣΦφα≡φεΘ Φ ΣΓεΘφεΘ ≥ε≈φε±≥Φ Γ√∩εδφ ■≥± φα±≥εδⁿΩε ∞α≥σ∞α≥Φ≈σ±ΩΦ Ωε≡≡σΩ≥φε, φα±ΩεδⁿΩε ∩ετΓεδ σ≥ α∩∩α≡α≥≤≡α.
╧≡σεß≡ατεΓαφΦ ∩δαΓα■∙Φ⌡ τφα≈σφΦΘ Γ Φφ≥σπ≡αδⁿφ√Θ ≥Φ∩ Φ∞σσ≥
±Ωδεφφε±≥ⁿ ß√≥ⁿ ∞α°Φφφε ταΓΦ±Φ∞√∞. ┬ ≈α±≥φε±≥Φ, φα∩≡αΓδσφΦσ
≤±σ≈σφΦ ε≥≡Φ÷α≥σδⁿφ√⌡ ≈Φ±σδ ≡ατδΦ≈ασ≥± ε≥ ∞α°Φφ√ Ω ∞α°Φφσ. ┼±δΦ
∩≡σΣε±≥αΓδ σ∞επε ∩≡ε±≥≡αφ±≥Γα Σδ τφα≈σφΦ φσ ⌡Γα≥ασ≥, ≥ε ≡στ≤δⁿ≥α≥
φσ ε∩≡σΣσδσφ.
╧≡σεß≡ατεΓαφΦσ Φφ≥σπ≡αδⁿφεπε τφα≈σφΦ Γ ∩δαΓα■∙ΦΘ ≥Φ∩ Γ√∩εδφ ■≥±
⌡ε≡ε°ε. ╧≡Φ φσ⌡Γα≥Ωσ Γ α∩∩α≡α≥φεΘ ≡σαδΦτα÷ΦΦ ≥≡σß≤σ∞√⌡ ßΦ≥
ΓετφΦΩασ≥ φσΩε≥ε≡α ∩ε≥σ≡ ≥ε≈φε±≥Φ.
┬√≡αµσφΦσ ÷σδεπε ≥Φ∩α ∞εµφε ∩≡ΦßαΓΦ≥ⁿ Ω ≤Ωατα≥σδ■ ΦδΦ Γ√≈σ±≥ⁿ Φτ
φσπε; Γ ≥αΩε∞ ±δ≤≈ασ ∩σ≡Γ√Θ ∩≡σεß≡ατ≤σ≥± , ΩαΩ ≤Ωατ√Γασ≥± ∩≡Φ
εß±≤µΣσφΦΦ ε∩σ≡α÷ΦΦ ±δεµσφΦ .
╠εµφε ∩≡εΦτΓεΣΦ≥ⁿ Γ√≈Φ≥αφΦσ φαΣ ΣΓ≤∞ ≤Ωατα≥σδ ∞Φ φα εß·σΩ≥√
εΣφεπε ≥Φ∩α; Γ ²≥ε∞ ±δ≤≈ασ ≡στ≤δⁿ≥α≥ ∩≡σεß≡ατ≤σ≥± Ω ≥Φ∩≤ int ΦδΦ
long Γ ταΓΦ±Φ∞ε±≥Φ ε≥ ∞α°Φφ√; ±∞. #7.4.
┬±σπΣα ∩≡Φ ±ε≈σ≥αφΦΦ ÷σδεπε ßστ τφαΩα Φ εß√≈φεπε ÷σδεπε εß√≈φεσ
÷σδεσ ∩≡σεß≡ατ≤σ≥± Ω ≥Φ∩≤ unsigned Φ ≡στ≤δⁿ≥α≥ Φ∞σσ≥ ≥Φ∩
unsigned. ╟φα≈σφΦσ∞ Γδ σ≥± φαΦ∞σφⁿ°σσ ÷σδεσ ßστ τφαΩα, ≡αΓφεσ
÷σδε∞≤ ±ε τφαΩε∞ (mod 2**(≡ατ∞σ≡ ±δεΓα)) (≥.σ. ∩ε ∞εΣ≤δ■ 2**(≡ατ∞σ≡
±δεΓα)). ┬ Σε∩εδφΦ≥σδⁿφε∞ ΣΓεΦ≈φε∞ ∩≡σΣ±≥αΓδσφΦΦ ²≥ε ∩≡σεß≡ατεΓαφΦσ
Γδ σ≥± ∩≤±≥√∞, Φ φΦΩαΩΦ⌡ ≡σαδⁿφ√⌡ Φτ∞σφσφΦΘ Γ ΣΓεΦ≈φε∞
∩≡σΣ±≥αΓδσφΦΦ φσ ∩≡εΦ±⌡εΣΦ≥.
╧≡Φ ∩≡σεß≡ατεΓαφΦΦ ÷σδεπε ßστ τφαΩα Γ ΣδΦφφεσ τφα≈σφΦσ ≡στ≤δⁿ≥α≥α
≈Φ±δσφφε ±εΓ∩αΣασ≥ ±ε τφα≈σφΦσ∞ ÷σδεπε ßστ τφαΩα. ╥αΩΦ∞ εß≡ατε∞,
∩≡σεß≡ατεΓαφΦσ ±ΓεΣΦ≥± Ω Σε∩εδφσφΦ■ φ≤δ ∞Φ ±δσΓα.
┬ε-∩σ≡Γ√⌡, δ■ß√σ ε∩σ≡αφΣ√ ≥Φ∩α char, unsigned char ΦδΦ short ∩≡σεß≡ατ≤■≥± Ω ≥Φ∩≤ int. | |
─αδσσ, σ±δΦ εΣΦφ Φτ ε∩σ≡αφΣεΓ Φ∞σσ≥ ≥Φ∩ double, ≥ε Σ≡≤πεΘ ∩≡σεß≡ατ≤σ≥± Ω ≥Φ∩≤ double Φ ≥ε≥ µσ ≥Φ∩ Φ∞σσ≥ ≡στ≤δⁿ≥α≥. | |
╚φα≈σ, σ±δΦ εΣΦφ Φτ ε∩σ≡αφΣεΓ Φ∞σσ≥ ≥Φ∩ unsigned long, ≥ε Σ≡≤πεΘ ∩≡σεß≡ατ≤σ≥± Ω ≥Φ∩≤ unsigned long Φ ≥αΩεΓ µσ ≥Φ∩ ≡στ≤δⁿ≥α≥α. | |
╚φα≈σ, σ±δΦ εΣΦφ Φτ ε∩σ≡αφΣεΓ Φ∞σσ≥ ≥Φ∩ long, ≥ε Σ≡≤πεΘ ∩≡σεß≡ατ≤σ≥± Ω ≥Φ∩≤ long Φ ≥αΩεΓ µσ ≥Φ∩ ≡στ≤δⁿ≥α≥α. | |
╚φα≈σ, σ±δΦ εΣΦφ Φτ ε∩σ≡αφΣεΓ Φ∞σσ≥ ≥Φ∩ unsigned, ≥ε Σ≡≤πεΘ ∩≡σεß≡ατ≤σ≥± Ω ≥Φ∩≤ unsigned Φ ≥αΩεΓ µσ ≥Φ∩ ≡στ≤δⁿ≥α≥α. | |
╚φα≈σ εßα ε∩σ≡αφΣα Σεδµφ√ Φ∞σ≥ⁿ ≥Φ∩ int Φ ≥αΩεΓ µσ ≥Φ∩ ≡στ≤δⁿ≥α≥α. |
╩εφ±≥αφ≥α 0 ∞εµσ≥ ∩≡σεß≡ατεΓ√Γα≥ⁿ± Γ ≤Ωατα≥σδⁿ, Φ πα≡αφ≥Φ≡≤σ≥± , ≈≥ε ²≥ε τφα≈σφΦσ ∩ε≡εΣΦ≥ ≤Ωατα≥σδⁿ, ε≥δΦ≈φ√Θ ε≥ ≤Ωατα≥σδ φα δ■ßεΘ εß·σΩ≥. | |
╙Ωατα≥σδⁿ δ■ßεπε ≥Φ∩α ∞εµσ≥ ∩≡σεß≡ατεΓ√Γα≥ⁿ± Γ void*. | |
╙Ωατα≥σδⁿ φα Ωδα±± ∞εµσ≥ ∩≡σεß≡ατεΓ√Γα≥ⁿ± Γ ≤Ωατα≥σδⁿ φα ε≥Ω≡√≥√Θ ßατεΓ√Θ Ωδα±± ²≥επε Ωδα±±α; ±∞. #8.5.3. | |
╚∞ ΓσΩ≥ε≡α ∞εµσ≥ ∩≡σεß≡ατεΓ√Γα≥ⁿ± Γ ≤Ωατα≥σδⁿ φα σπε ∩σ≡Γ√Θ ²δσ∞σφ≥. | |
╚Σσφ≥Φ⌠ΦΩα≥ε≡, ε∩Φ±αφφ√Θ ΩαΩ "⌠≤φΩ÷Φ , ΓετΓ≡α∙α■∙α ...", Γ±σπΣα, ΩεπΣα εφ φσ Φ±∩εδⁿτ≤σ≥± Γ ∩ετΦ÷ΦΦ Φ∞σφΦ ⌠≤φΩ÷ΦΦ Γ Γ√τεΓσ, ∩≡σεß≡ατ≤σ≥± Γ "≤Ωατα≥σδⁿ φα ⌠≤φΩ÷Φ■, ΓετΓ≡α∙α■∙≤■ ...". |
┬στΣσ, πΣσ ΦφΦ÷ΦαδΦτΦ≡≤■≥± ±±√δΩΦ, ∞εµσ≥ Γ√∩εδφ ≥ⁿ± ±δσΣ≤■∙σσ ∩≡σεß≡ατεΓαφΦσ.
╤±√δΩα φα Ωδα±± ∞εµσ≥ ∩≡σεß≡ατεΓ√Γα≥ⁿ± Γ ±±√δΩ≤ φα ε≥Ω≡√≥√Θ ßατεΓ√Θ Ωδα±± ²≥επε Ωδα±±α; ±∞. #8.6.3.
╧≡Φε≡Φ≥σ≥ ε∩σ≡α÷ΦΘ Γ Γ√≡αµσφΦ ⌡ ≥αΩεΘ µσ, ΩαΩ Φ ∩ε≡ ΣεΩ πδαΓφ√⌡
∩εΣ≡ατΣσδεΓ Γ ²≥ε∞ ≡ατΣσδσ, φαΦßεδⁿ°ΦΘ ∩≡Φε≡Φ≥σ≥ ≤ ∩σ≡Γεπε. ╥αΩ
φα∩≡Φ∞σ≡, Γ√≡αµσφΦ , ε Ωε≥ε≡√⌡ πεΓε≡Φ≥± ΩαΩ εß ε∩σ≡αφΣα⌡ ε∩σ≡α÷ΦΦ
+ (#7.4) - ²≥ε ≥σ Γ√≡αµσφΦ , Ωε≥ε≡√σ ε∩≡σΣσδσφ√ Γ ##7.1-7.4.┬φ≤≥≡Φ ΩαµΣεπε ∩εΣ≡ατΣσδα ε∩σ≡α÷ΦΦ Φ∞σ■≥ εΣΦφαΩεΓ√Θ ∩≡Φε≡Φ≥σ≥. ┬ ΩαµΣε∞ ∩εΣ≡ατΣσδσ Σδ ≡α±±∞α≥≡ΦΓασ∞√⌡ Γ φσ∞ ε∩σ≡α÷ΦΘ ε∩≡σΣσδ σ≥± Φ⌡ δσΓα ΦδΦ ∩≡αΓα α±±ε÷Φα≥ΦΓφε±≥ⁿ (∩ε≡ ΣεΩ εß≡αßε≥ΩΦ ε∩σ≡αφΣεΓ).
╧≡Φε≡Φ≥σ≥ Φ α±±ε÷Φα≥ΦΓφε±≥ⁿ Γ±σ⌡ ε∩σ≡α÷ΦΘ ±εß≡αφ Γ∞σ±≥σ Γ ε∩Φ±αφΦΦ
π≡α∞∞α≥ΦΩΦ Γ ##14.
┬ ε±≥αδⁿφ√⌡ ±δ≤≈α ⌡ ∩ε≡ ΣεΩ Γ√≈Φ±δσφΦ Γ√≡αµσφΦ φσ ε∩≡σΣσδσφ.
╥ε≈φσσ, Ωε∞∩Φδ ≥ε≡ Γεδσφ Γ√≈Φ±δ ≥ⁿ ∩εΣΓ√≡αµσφΦ Γ ≥ε∞ ∩ε≡ ΣΩσ,
Ωε≥ε≡√Θ εφ ±≈Φ≥ασ≥ ßεδσσ ²⌠⌠σΩ≥ΦΓφ√∞, Σαµσ σ±δΦ ∩εΣΓ√≡αµσφΦ
Γ√τ√Γα■≥ ∩εßε≈φ√σ ²⌠⌠σΩ≥√. ╧ε≡ ΣεΩ ΓετφΦΩφεΓσφΦ ∩εßε≈φ√⌡ ²⌠⌠σΩ≥εΓ
φσ ε∩≡σΣσδσφ. ┬√≡αµσφΦ , ΓΩδ■≈α■∙Φσ Γ ±σß Ωε∞∞≤≥α≥ΦΓφ√σ Φ
α±±ε÷Φα≥ΦΓφ√σ ε∩σ≡α÷ΦΦ (*, +, &, |, ^), ∞επ≤≥ ß√≥ⁿ ≡σε≡παφΦτεΓαφ√
∩≡εΦτΓεδⁿφ√∞ εß≡ατε∞, Σαµσ ∩≡Φ φαδΦ≈ΦΦ ±ΩεßεΩ; Σδ ταΣαφΦ
ε∩≡σΣσδσφφεπε ∩ε≡ ΣΩα Γ√≈Φ±δσφΦ Γ√≡αµσφΦ φσεß⌡εΣΦ∞ε Φ±∩εδⁿτεΓα≥ⁿ
Γφ≤■ Γ≡σ∞σφφ≤■ ∩σ≡σ∞σφφ≤■.
╬ß≡αßε≥Ωα ∩σ≡σ∩εδφσφΦ Φ Ωεφ≥≡εδⁿ ΣσδσφΦ ∩≡Φ Γ√≈Φ±δσφΦΦ
Γ√≡αµσφΦ ∞α°Φφφε ταΓΦ±Φ∞√. ┬ ßεδⁿ°Φφ±≥Γσ ±≤∙σ±≥Γ≤■∙Φ⌡ ≡σαδΦτα÷ΦΘ
C++ ∩σ≡σ∩εδφσφΦσ ÷σδεπε Φπφε≡Φ≡≤σ≥± ; εß≡αßε≥Ωα ΣσδσφΦ φα 0 Φ Γ±σ⌡
Φ±Ωδ■≈Φ≥σδⁿφ√⌡ ±Φ≥≤α÷ΦΘ ± ≈Φ±δα∞Φ ± ∩δαΓα■∙σΘ ≥ε≈ΩεΘ ≡ατδΦ≈α■≥± ε≥
∞α°Φφ√ Ω ∞α°Φφσ Φ εß√≈φε ∞επ≤≥ ≡σπ≤δΦ≡εΓα≥ⁿ± ßΦßδΦε≥σ≈φ√∞Φ
⌠≤φΩ÷Φ ∞Φ.
╩≡ε∞σ ±≥αφΣα≡≥φεπε τφα≈σφΦ , ε∩Φ±αφφεπε Γ ##7.2-7.15, ε∩σ≡α÷ΦΦ ∞επ≤≥ ß√≥ⁿ ∩σ≡σπ≡≤µσφ√*3, ≥ε σ±≥ⁿ, ∞επ≤≥ ß√≥ⁿ ταΣαφ√ Φ⌡ τφα≈σφΦ Σδ ±δ≤≈α Φ⌡ ∩≡Φ∞σφσφΦ Ω ≥Φ∩α∞, ε∩≡σΣσδ σ∞√∞ ∩εδⁿτεΓα≥σδσ∞; ±∞. #7.16.
╬±φεΓφ√σ Γ√≡αµσφΦ , ΓΩδ■≈α■∙Φσ Γ ±σß . , -> , ΦφΣσΩ±Φ≡εΓαφΦσ Φ Γ√τεΓ√ ⌠≤φΩ÷ΦΘ, π≡≤∩∩Φ≡≤■≥± ±δσΓα φα∩≡αΓε.
±∩Φ±εΩ_Γ√≡αµσφΦΘ: Γ√≡αµσφΦσ ±∩Φ±εΩ_Γ√≡αµσφΦΘ , Γ√≡αµσφΦσ id: ΦΣσφ≥Φ⌠ΦΩα≥ε≡ Φ∞ _⌠≤φΩ÷ΦΦ_ε∩σ≡α÷ΦΦ typedef-Φ∞ :: ΦΣσφ≥Φ⌠ΦΩα≥ε≡ typedef-Φ∞ :: Φ∞ _⌠≤φΩ÷ΦΦ_ε∩σ≡α÷ΦΦ ∩σ≡ΓΦ≈φεσ_Γ√≡αµσφΦσ: id :: ΦΣσφ≥Φ⌠ΦΩα≥ε≡ Ωεφ±≥αφ≥α ±≥≡εΩα this ( Γ√≡αµσφΦσ ) ∩σ≡ΓΦ≈φεσ_Γ√≡αµσφΦσ [ Γ√≡αµσφΦσ ] ∩σ≡ΓΦ≈φεσ_Γ√≡αµσφΦσ ( ±∩Φ±εΩ_Γ√≡αµσφΦΘ opt ) ∩σ≡ΓΦ≈φεσ_Γ√≡αµσφΦσ . id ∩σ≡ΓΦ≈φεσ_Γ√≡αµσφΦσ -> id
7.2.1 ╙ΓσδΦ≈σφΦσ Φ ╙∞σφⁿ°σφΦσ | |
7.2.2 Sizeof | |
7.2.3 ▀Γφεσ ╧≡σεß≡ατεΓαφΦσ ╥Φ∩α | |
7.2.4 ╤ΓεßεΣφα ╧α∞ ≥ⁿ |
┬√≡αµσφΦ ± ≤φα≡φ√∞Φ ε∩σ≡α÷Φ ∞Φ π≡≤∩∩Φ≡≤■≥ ±∩≡αΓα φαδσΓε:
≤φα≡φεσ_Γ√≡αµσφΦσ: ≤φα≡φα _ε∩σ≡α÷Φ Γ√≡αµσφΦσ Γ√≡αµσφΦσ ++ Γ√≡αµσφΦσ -- sizeof Γ√≡αµσφΦσ sizeof ( Φ∞ _≥Φ∩α ) ( Φ∞ _≥Φ∩α ) Γ√≡αµσφΦσ ∩≡ε±≥εσ_Φ∞ _≥Φ∩α ( ±∩Φ±εΩ_Γ√≡αµσφΦΘ ) new Φ∞ _≥Φ∩α ΦφΦ÷ΦαδΦτα≥ε≡ opt new ( Φ∞ _≥Φ∩α ) delete Γ√≡αµσφΦσ delete [ Γ√≡αµσφΦσ ] Γ√≡αµσφΦσ ≤φα≡φα _ε∩σ≡α÷Φ : εΣφα Φτ * & - ! ~ ++ --
╬∩σ≡αφΣ ∩≡σ⌠ΦΩ±φεπε ++ ∩εδ≤≈ασ≥ ∩≡Φ≡α∙σφΦσ. ╬∩σ≡αφΣ Σεδµσφ ß√≥ⁿ
αΣ≡σ±φ√∞ . ╟φα≈σφΦσ∞ Γδ σ≥± φεΓεσ τφα≈σφΦσ ε∩σ≡αφΣα, φε εφε φσ
αΣ≡σ±φεσ. ┬√≡αµσφΦσ ++x ²ΩΓΦΓαδσφ≥φε x+=1. ╧ε ∩εΓεΣ≤ Σαφφ√⌡ ε
∩≡σεß≡ατεΓαφΦ ⌡ ±∞. εß±≤µΣσφΦσ ε∩σ≡α÷ΦΘ ±δεµσφΦ (#7.4) Φ ∩≡Φ±ΓαΦΓαφΦ (#7.14).
╬∩σ≡αφΣ ∩≡σ⌠ΦΩ±φεπε -- ≤∞σφⁿ°ασ≥± αφαδεπΦ≈φε ΣσΘ±≥ΓΦ■ ∩≡σ⌠ΦΩ±φεΘ
ε∩σ≡α÷ΦΦ ++.
╟φα≈σφΦσ, ∩εδ≤≈ασ∞εσ ∩≡Φ Φ±∩εδⁿτεΓαφΦΦ ∩ε±≥⌠ΦΩ±φεπε ++, σ±≥ⁿ
τφα≈σφΦσ ε∩σ≡αφΣα. ╬∩σ≡αφΣ Σεδµσφ ß√≥ⁿ αΣ≡σ±φ√∞. ╧ε±δσ ≥επε, ΩαΩ
≡στ≤δⁿ≥α≥ ε≥∞σ≈σφ, εß·σΩ≥ ≤ΓσδΦ≈ΦΓασ≥± ≥αΩ µσ, ΩαΩ Φ Γ ∩≡σ⌠ΦΩ±φεΘ
ε∩σ≡α÷ΦΦ ++. ╥Φ∩ ≡στ≤δⁿ≥α≥α ≥ε≥ µσ, ≈≥ε Φ ≥Φ∩ ε∩σ≡αφΣα.
╟φα≈σφΦσ, ∩εδ≤≈ασ∞εσ ∩≡Φ Φ±∩εδⁿτεΓαφΦΦ ∩ε±≥⌠ΦΩ±φεΘ
--, σ±≥ⁿ τφα≈σφΦσ ε∩σ≡αφΣα. ╬∩σ≡αφΣ Σεδµσφ ß√≥ⁿ αΣ≡σ±φ√∞. ╧ε±δσ
≥επε, ΩαΩ ≡στ≤δⁿ≥α≥ ε≥∞σ≈σφ, εß·σΩ≥ ≤ΓσδΦ≈ΦΓασ≥± ≥αΩ µσ, ΩαΩ Φ Γ
∩≡σ⌠ΦΩ±φεΘ ε∩σ≡α÷ΦΦ ++. ╥Φ∩ ≡στ≤δⁿ≥α≥α ≥ε≥ µσ, ≈≥ε Φ ≥Φ∩ ε∩σ≡αφΣα.
╬∩σ≡α÷Φ sizeof Σασ≥ ≡ατ∞σ≡ ε∩σ≡αφΣα Γ ßαΘ≥α⌡. (┴αΘ≥ φσ
ε∩≡σΣσδ σ≥± τ√Ωε∞ Φφα≈σ, ≈σ∞ ≈σ≡στ τφα≈σφΦσ sizeof. ╬ΣφαΩε, Γε
Γ±σ⌡ ±≤∙σ±≥Γ≤■∙Φ⌡ ≡σαδΦτα÷Φ ⌡ ßαΘ≥ σ±≥ⁿ ∩≡ε±≥≡αφ±≥Γε, φσεß⌡εΣΦ∞εσ
Σδ ⌡≡αφσφΦ char.) ╧≡Φ ∩≡Φ∞σφσφΦΦ Ω ∞α±±ΦΓ≤ ≡στ≤δⁿ≥α≥ε∞ Γδ σ≥±
∩εδφεσ ΩεδΦ≈σ±≥Γε ßαΘ≥εΓ Γ ∞α±±ΦΓσ. ╨ατ∞σ≡ ε∩≡σΣσδ σ≥± Φτ ε∩Φ±αφΦΘ
εß·σΩ≥εΓ, Γ⌡εΣ ∙Φ⌡ Γ Γ√≡αµσφΦσ. ╤σ∞αφ≥Φ≈σ±ΩΦ ²≥ε Γ√≡αµσφΦσ Γδ σ≥±
ßσττφαΩεΓεΘ Ωεφ±≥αφ≥εΘ Φ ∞εµσ≥ ß√≥ⁿ Φ±∩εδⁿτεΓαφε Γ δ■ßε∞ ∞σ±≥σ, πΣσ
≥≡σß≤σ≥± Ωεφ±≥αφ≥α.
╬∩σ≡α÷Φ■ sizeof ∞εµφε ≥αΩµσ ∩≡Φ∞σφ ≥ⁿ Ω ταΩδ■≈σφφε∞≤ Γ ±ΩεßΩΦ
Φ∞σφΦ ≥Φ∩α. ┬ ²≥ε∞ ±δ≤≈ασ εφα Σασ≥ ≡ατ∞σ≡, Γ ßαΘ≥α⌡, εß·σΩ≥α
≤Ωαταφφεπε ≥Φ∩α.
╧≡ε±≥εσ_Φ∞ _≥Φ∩α (#8.2), Γετ∞εµφε, ταΩδ■≈σφφεσ Γ ±ΩεßΩΦ, τα Ωε≥ε≡√∞ ΦΣσ≥ ταΩδ■≈σφφεσ Γ ±ΩεßΩΦ Γ√≡αµσφΦσ (ΦδΦ ±∩Φ±εΩ_Γ√≡αµσφΦΘ,
σ±δΦ ≥Φ∩ Γδ σ≥± Ωδα±±ε∞ ± ±εε≥Γσ≥±≥Γ≤■∙Φ∞ εß≡ατε∞ ε∩Φ±αφφ√∞
Ωεφ±≥≡≤Ω≥ε≡ε∞ #8.5.5) Γδσ≈σ≥ ∩≡σεß≡ατεΓαφΦσ τφα≈σφΦ Γ√≡αµσφΦ Γ φατΓαφφ√Θ ≥Φ∩. ╫≥εß√ τα∩Φ±α≥ⁿ ∩≡σεß≡ατεΓαφΦσ Γ ≥Φ∩, φσ Φ∞σ■∙ΦΘ
∩≡ε±≥επε Φ∞σφΦ, Φ∞ _≥Φ∩α (#8.7) Σεδµφε ß√≥ⁿ ταΩδ■≈σφε Γ ±ΩεßΩΦ. ┼±δΦ Φ∞ ≥Φ∩α ταΩδ■≈σφε Γ ±ΩεßΩΦ, Γ√≡αµσφΦσ ταΩδ■≈α≥ⁿ Γ ±ΩεßΩΦ
φσεß τα≥σδⁿφε. ╥αΩα τα∩Φ±ⁿ φατ√Γασ≥± ∩≡ΦΓσΣσφΦσ∞ Ω ≥Φ∩≤.
╙Ωατα≥σδⁿ ∞εµσ≥ ß√≥ⁿ Γφε ∩≡σεß≡ατεΓαφ Ω δ■ßε∞≤ Φτ Φφ≥σπ≡αδⁿφ√⌡
≥Φ∩εΓ, Σε±≥α≥ε≈φε ∩ε ΓσδΦ≈Φφσ Σδ σπε ⌡≡αφσφΦ . ╥ε, ΩαΩεΘ Φτ int Φ
long ≥≡σß≤σ≥± , Γδ σ≥± ∞α°Φφφε ταΓΦ±Φ∞√∞. ╬≥εß≡ατ≤■∙α ⌠≤φΩ÷Φ
≥αΩµσ Γδ σ≥± ∞α°Φφφε ταΓΦ±Φ∞εΘ, φε ∩≡σΣ∩εδαπασ≥± , ≈≥ε εφα φσ
±εΣσ≡µΦ≥ ±■≡∩≡ΦτεΓ Σδ ≥επε, Ω≥ε τφασ≥ ±≥≡≤Ω≥≤≡≤ αΣ≡σ±α÷ΦΦ Γ
∞α°Φφσ. ╧εΣ≡εßφε±≥Φ Σδ φσΩε≥ε≡√⌡ ΩεφΩ≡σ≥φ√⌡ ∞α°Φφ ß√δΦ ∩≡ΦΓσΣσφ√ Γ
#2.6.
╬ß·σΩ≥ Φφ≥σπ≡αδⁿφεπε ≥Φ∩α ∞εµσ≥ ß√≥ⁿ Γφε ∩≡σεß≡ατεΓαφ Γ
≤Ωατα≥σδⁿ. ╬≥εß≡αµα■∙α ⌠≤φΩ÷Φ Γ±σπΣα ∩≡σΓ≡α∙ασ≥ ÷σδεσ, ∩εδ≤≈σφφεσ
Φτ ≤Ωατα≥σδ , εß≡α≥φε Γ ≥ε≥ µσ ≤Ωατα≥σδⁿ, φε Γ ε±≥αδⁿφ√⌡ ±δ≤≈α ⌡
Γδ σ≥± ∞α°Φφφε ταΓΦ±Φ∞εΘ.
╙Ωατα≥σδⁿ φα εΣΦφ ≥Φ∩ ∞εµσ≥ ß√≥ⁿ Γφε ∩≡σεß≡ατεΓαφ Γ ≤Ωατα≥σδⁿ φα
Σ≡≤πεΘ ≥Φ∩. ╚±∩εδⁿτεΓαφΦσ ∩εδ≤≈σφφεπε Γ ≡στ≤δⁿ≥α≥σ ≤Ωατα≥σδ ∞εµσ≥
∩≡ΦΓσ±≥Φ Ω Φ±Ωδ■≈Φ≥σδⁿφεΘ ±Φ≥≤α÷ΦΦ αΣ≡σ±α÷ΦΦ, σ±δΦ Φ±⌡εΣφ√Θ
≤Ωατα≥σδⁿ φσ ≤Ωατ√Γασ≥ φα εß·σΩ≥, ±εε≥Γσ≥±≥Γ≤■∙Φ∞ εß≡ατε∞
Γ√≡αΓφσφφ√Θ Γ ∩α∞ ≥Φ. ├α≡αφ≥Φ≡≤σ≥± , ≈≥ε ≤Ωατα≥σδⁿ φα εß·σΩ≥
Σαφφεπε ≡ατ∞σ≡α ∞εµσ≥ ß√≥ⁿ ∩≡σεß≡ατεΓαφ Γ ≤Ωατα≥σδⁿ φα εß·σΩ≥
∞σφⁿ°σπε ≡ατ∞σ≡α Φ εß≡α≥φε ßστ Φτ∞σφσφΦΘ. ╨ατδΦ≈φ√σ ∞α°Φφ√ ∞επ≤≥
≡ατδΦ≈α≥ⁿ± ∩ε ≈Φ±δ≤ ßΦ≥ Γ ≤Ωατα≥σδ ⌡ Φ ≥≡σßεΓαφΦ ∞ Ω Γ√≡αΓφΦΓαφΦ■
εß·σΩ≥εΓ. ╤ε±≥αΓφ√σ εß·σΩ≥√ Γ√≡αΓφΦΓα■≥± ∩ε ±α∞εΘ ±≥≡επεΘ π≡αφΦ÷σ,
≥≡σß≤σ∞εΘ ΩαΩΦ∞-δΦßε Φτ σπε ±ε±≥αΓδ ■∙Φ⌡.
╬ß·σΩ≥ ∞εµσ≥ ∩≡σεß≡ατεΓ√Γα≥ⁿ± Γ εß·σΩ≥ Ωδα±±α ≥εδⁿΩε σ±δΦ ß√δ
ε∩Φ±αφ ±εε≥Γσ≥±≥Γ≤■∙ΦΘ Ωεφ±≥≡≤Ω≥ε≡ ΦδΦ ε∩σ≡α÷Φ ∩≡σεß≡ατεΓαφΦ
(#8.5.6).
╬ß·σΩ≥ ∞εµσ≥ Γφε ∩≡σεß≡ατεΓ√Γα≥ⁿ± Γ ±±√δε≈φ√Θ ≥Φ∩ &X, σ±δΦ
≤Ωατα≥σδⁿ φα ²≥ε≥ εß·σΩ≥ ∞εµσ≥ Γφε ∩≡σεß≡ατεΓ√Γα≥ⁿ± Γ X*.
╬∩σ≡α÷Φ new ±ετΣασ≥ εß·σΩ≥ ≥Φ∩α Φ∞ _≥Φ∩α (±∞. #8.7), Ω Ωε≥ε≡ε∞≤ εφ ∩≡Φ∞σφσφ. ┬≡σ∞ µΦτφΦ εß·σΩ≥α, ±ετΣαφφεπε ± ∩ε∞ε∙ⁿ■ new, φσ επ≡αφΦ≈σφε εßδα±≥ⁿ■ ΓΦΣΦ∞ε±≥Φ, Γ Ωε≥ε≡εΘ εφ ±ετΣαφ. ╬∩σ≡α÷Φ new ΓετΓ≡α∙ασ≥ ≤Ωατα≥σδⁿ φα ±ετΣαφφ√Θ σΘ εß·σΩ≥. ╩επΣα εß·σΩ≥ Γδ σ≥± ∞α±±ΦΓε∞, ΓετΓ≡α∙ασ≥± ≤Ωατα≥σδⁿ φα σπε ∩σ≡Γ√Θ ²δσ∞σφ≥. ═α∩≡Φ∞σ≡, Φ new int Φ new int[10] ΓετΓ≡α∙α■≥ int*. ─δ εß·σΩ≥εΓ φσΩε≥ε≡√⌡ Ωδα±±εΓ φαΣε ∩≡σΣε±≥αΓδ ≥ⁿ ΦφΦ÷ΦαδΦτα≥ε≡ (#8.6.2). ╬∩σ≡α÷Φ new (#7.2) Σδ ∩εδ≤≈σφΦ ∩α∞ ≥Φ Γ√τ√Γασ≥ ⌠≤φΩ÷Φ■
void* operator new (long);
void operator delete (void*);
delete [ Γ√≡αµσφΦσ ] Γ√≡αµσφΦσ
╠≤δⁿ≥Φ∩δΦΩα≥ΦΓφ√σ ε∩σ≡α÷ΦΦ *, / Φ % π≡≤∩∩Φ≡≤■≥ ±δσΓα φα∩≡αΓε. ┬√∩εδφ ■≥± εß√≈φ√σ α≡Φ⌠∞σ≥Φ≈σ±ΩΦσ ∩≡σεß≡ατεΓαφΦ .
∞≤δⁿ≥Φ∩δΦΩα≥ΦΓφεσ_Γ√≡αµσφΦσ:
Γ√≡αµσφΦσ * Γ√≡αµσφΦσ Γ√≡αµσφΦσ / Γ√≡αµσφΦσ Γ√≡αµσφΦσ % Γ√≡αµσφΦσ
└ΣΣΦ≥ΦΓφ√σ ε∩σ≡α÷ΦΦ + Φ - π≡≤∩∩Φ≡≤■≥ ±δσΓα φα∩≡αΓε. ┬√∩εδφ ■≥± εß√≈φ√σ α≡Φ⌠∞σ≥Φ≈σ±ΩΦσ ∩≡σεß≡ατεΓαφΦ . ╩αµΣα ε∩σ≡α÷Φ Φ∞σσ≥ φσΩε≥ε≡√σ Σε∩εδφΦ≥σδⁿφ√σ Γετ∞εµφε±≥Φ, ±Γ ταφφ√σ ± ≥Φ∩α∞Φ.
αΣΣΦ≥ΦΓφεσ_Γ√≡αµσφΦσ:
Γ√≡αµσφΦσ + Γ√≡αµσφΦσ Γ√≡αµσφΦσ - Γ√≡αµσφΦσ
╬∩σ≡α÷ΦΦ ±ΣΓΦπα << Φ >> π≡≤∩∩Φ≡≤■≥ ±δσΓα φα∩≡αΓε. ╬ßσ Γ√∩εδφ ■≥ εΣφε εß√≈φεσ α≡Φ⌠∞σ≥Φ≈σ±Ωεσ ∩≡σεß≡ατεΓαφΦσ φαΣ ±ΓεΦ∞Φ ε∩σ≡αφΣα∞Φ, ΩαµΣ√Θ Φτ Ωε≥ε≡√⌡ Σεδµσφ ß√≥ⁿ ÷σδ√∞. ┬ ²≥ε∞ ±δ≤≈ασ ∩≡αΓ√Θ ε∩σ≡αφΣ ∩≡σεß≡ατ≤σ≥± Ω ≥Φ∩≤ int; ≥Φ∩ ≡στ≤δⁿ≥α≥α ±εΓ∩αΣασ≥ ± ≥Φ∩ε∞ δσΓεπε ε∩σ≡αφΣα. ╨στ≤δⁿ≥α≥ φσ ε∩≡σΣσδσφ, σ±δΦ ∩≡αΓ√Θ ε∩σ≡αφΣ ε≥≡Φ÷α≥σδσφ ΦδΦ ßεδⁿ°σ ΦδΦ ≡αΓσφ ΣδΦφσ εß·σΩ≥α Γ ßΦ≥α⌡.
±ΣΓΦπεΓεσ_Γ√≡αµσφΦσ:
Γ√≡αµσφΦσ << Γ√≡αµσφΦσ Γ√≡αµσφΦσ >> Γ√≡αµσφΦσ
╬∩σ≡α÷ΦΦ ε≥φε°σφΦ (±≡αΓφσφΦ ) π≡≤∩∩Φ≡≤■≥ ±δσΓα φα∩≡αΓε, φε ²≥ε≥ ⌠αΩ≥ φσ ε≈σφⁿ-≥ε ∩εδστσφ: a < b < c φσ ετφα≈ασ≥ ≥ε, ≈σ∞ Ωαµσ≥± .
Γ√≡αµσφΦσ_ε≥φε°σφΦ :
Γ√≡αµσφΦσ < Γ√≡αµσφΦσ Γ√≡αµσφΦσ > Γ√≡αµσφΦσ Γ√≡αµσφΦσ <= Γ√≡αµσφΦσ Γ√≡αµσφΦσ >= Γ√≡αµσφΦσ
Γ√≡αµσφΦσ_≡αΓσφ±≥Γα:
Γ√≡αµσφΦσ == Γ√≡αµσφΦσ Γ√≡αµσφΦσ != Γ√≡αµσφΦσ
╚-Γ√≡αµσφΦσ:
Γ√≡αµσφΦσ & Γ√≡αµσφΦσ
Φ±Ωδ■≈α■∙σσ_╚╦╚_Γ√≡αµσφΦσ:
Γ√≡αµσφΦσ ^ Γ√≡αµσφΦσ
ΓΩδ■≈α■∙σσ_╚╦╚_Γ√≡αµσφΦσ:
Γ√≡αµσφΦσ | Γ√≡αµσφΦσ
δεπΦ≈σ±Ωεσ_╚_Γ√≡αµσφΦσ:
Γ√≡αµσφΦσ && Γ√≡αµσφΦσ
δεπΦ≈σ±Ωεσ_╚╦╚_Γ√≡αµσφΦσ:
Γ√≡αµσφΦσ || Γ√≡αµσφΦσ
≤±δεΓφεσ_Γ√≡αµσφΦσ:
Γ√≡αµσφΦσ ? Γ√≡αµσφΦσ : Γ√≡αµσφΦσ
┼±≥ⁿ ∞φεπε ε∩σ≡α÷ΦΘ ∩≡Φ±ΓαΦΓαφΦ , Γ±σ π≡≤∩∩Φ≡≤■≥ ±δσΓα φα∩≡αΓε. ┬±σ Γ Ωα≈σ±≥Γσ δσΓεπε ε∩σ≡αφΣα ≥≡σß≤■≥ lvalue, Φ ≥Φ∩ Γ√≡αµσφΦ ∩≡Φ±ΓαΦΓαφΦ ≥ε≥ µσ, ≈≥ε Φ ≤ σπε δσΓεπε ε∩σ≡αφΣα. ▌≥ε lvalue φσ ∞εµσ≥ ±±√δα≥ⁿ± φα Ωεφ±≥αφ≥≤ (Φ∞ ∞α±±ΦΓα, Φ∞ ⌠≤φΩ÷ΦΦ ΦδΦ const). ╟φα≈σφΦσ∞ Γδ σ≥± τφα≈σφΦσ, ⌡≡αφ ∙σσ± Γ δσΓε∞ ε∩σ≡αφΣσ ∩≡ε±δσ Γ√∩εδφσφΦ ∩≡Φ±ΓαΦΓαφΦ .
Γ√≡αµσφΦσ_∩≡Φ±ΓαΦΓαφΦ :
Γ√≡αµσφΦσ ε∩σ≡α÷Φ _∩≡Φ±ΓαΦΓαφΦ Γ√≡αµσφΦσ
ε∩σ≡α÷Φ _∩≡Φ±ΓαΦΓαφΦ : εΣφα Φτ
= += -= *= /= %= >>= <<= &= ~= |=
τα∩ ≥α _Γ√≡αµσφΦσ:
Γ√≡αµσφΦσ , Γ√≡αµσφΦσ
f (a,(t=3,t+2),c)
7.16.1 ╙φα≡φ√σ ε∩σ≡α÷ΦΦ | |
7.16.2 ┴Φφα≡φ√σ ε∩σ≡α÷ΦΦ | |
7.16.3 ╬±εß√σ ε∩σ≡α÷ΦΦ |
┴εδⁿ°Φφ±≥Γε ε∩σ≡α÷ΦΘ ∞εµσ≥ ß√≥ⁿ ∩σ≡σπ≡≤µσφε, ≥ε σ±≥ⁿ, ε∩Φ±αφε
≥αΩ, ≈≥εß√ εφΦ ∩εδ≤≈αδΦ Γ Ωα≈σ±≥Γσ ε∩σ≡αφΣεΓ εß·σΩ≥√ Ωδα±±εΓ (±∞.
#8.5.11). ╚τ∞σφΦ≥ⁿ ∩≡Φε≡Φ≥σ≥ ε∩σ≡α÷ΦΘ φσΓετ∞εµφε. ═σΓετ∞εµφε Φτ∞σφΦ≥ⁿ ±∞√±δ ε∩σ≡α÷ΦΘ ∩≡Φ ∩≡Φ∞σφσφΦΦ Φ⌡ Ω φσΩδα±±εΓ√∞ εß·σΩ≥α∞.
╧≡σΣε∩≡σΣσδσφφ√Θ ±∞√±δ ε∩σ≡α÷ΦΘ = Φ & (≤φα≡φεΘ) ∩≡Φ ∩≡Φ∞σφσφΦΦ Φ⌡ Ω
εß·σΩ≥α∞ Ωδα±±εΓ ∞εµσ≥ ß√≥ⁿ Φτ∞σφσφ.
▌ΩΓΦΓαδσφ≥φε±≥ⁿ ε∩σ≡α÷ΦΘ, ∩≡Φ∞σφ σ∞√⌡ Ω ε±φεΓφ√∞ ≥Φ∩α∞ (φα∩≡Φ∞σ≡,
++a ²ΩΓΦΓαδσφ≥φε a+=1), φσ εß τα≥σδⁿφε Γ√∩εδφ σ≥± Σδ ε∩σ≡α÷ΦΘ,
∩≡Φ∞σφ σ∞√⌡ Ω Ωδα±±εΓ√∞ ≥Φ∩α∞. ═σΩε≥ε≡√σ ε∩σ≡α÷ΦΦ, φα∩≡Φ∞σ≡,
∩≡Φ±ΓαΦΓαφΦσ, Γ ±δ≤≈ασ ∩≡Φ∞σφσφΦ Ω ε±φεΓφ√∞ ≥Φ∩α∞ ≥≡σß≤■≥, ≈≥εß√
ε∩σ≡αφΣ ß√δ lvalue; ²≥ε φσ ≥≡σß≤σ≥± Σδ ε∩σ≡α÷ΦΘ, ε∩Φ±αφφ√⌡ Σδ
Ωδα±±εΓ√⌡ ≥Φ∩εΓ.
╙φα≡φα ε∩σ≡α÷Φ , ∩≡σ⌠ΦΩ±φα ΦδΦ ∩ε±≥⌠ΦΩ±φα , ∞εµσ≥ ß√≥ⁿ ε∩≡σΣσδσφα ΦδΦ ± ∩ε∞ε∙ⁿ■ ⌠≤φΩ÷ΦΦ ≈δσφα (±∞. #8.5.4), φσ ∩εδ≤≈α■∙σΘ ∩α≡α∞σ≥≡εΓ, ΦδΦ ± ∩ε∞ε∙ⁿ■ ⌠≤φΩ÷ΦΦ Σ≡≤πα (±∞. #8.5.10), ∩εδ≤≈α■∙σΘ εΣΦφ ∩α≡α∞σ≥≡, φε φσ ΣΓ≤∞ ±∩ε±εßα∞Φ εΣφεΓ≡σ∞σφφε. ╥αΩ, Σδ δ■ßεΘ ≤φα≡φεΘ ε∩σ≡α÷ΦΦ @, x@ Φ @x ∞επ≤≥ Φφ≥σ≡∩≡σ≥Φ≡εΓα≥ⁿ± ΩαΩ x.ε∩σ≡α÷Φ @() ΦδΦ ε∩σ≡α÷Φ @(x). ╧≡Φ ∩σ≡σπ≡≤τΩσ ε∩σ≡α÷ΦΘ ++ Φ -- φσΓετ∞εµφε ≡ατδΦ≈Φ≥ⁿ ∩≡σ⌠ΦΩ±φεσ Φ ∩ε±≥⌠ΦΩ±φεσ Φ±∩εδⁿτεΓαφΦσ.
┴Φφα≡φα ε∩σ≡α÷Φ ∞εµσ≥ ß√≥ⁿ ε∩≡σΣσδσφα ΦδΦ ± ∩ε∞ε∙ⁿ■ ⌠≤φΩ÷ΦΦ ≈δσφα (±∞. #8.5.4), ∩εδ≤≈α■∙σΘ εΣΦφ ∩α≡α∞σ≥≡, ΦδΦ ± ∩ε∞ε∙ⁿ■ ⌠≤φΩ÷ΦΦ Σ≡≤πα (±∞. #8.5.9), ∩εδ≤≈α■∙σΘ ΣΓα ∩α≡α∞σ≥≡α, φε φσ ΣΓ≤∞ ±∩ε±εßα∞Φ εΣφεΓ≡σ∞σφφε. ╥αΩ, Σδ δ■ßεΘ ßΦφα≡φεΘ ε∩σ≡α÷ΦΦ @, x@y ∞εµσ≥ ß√≥ⁿ ∩≡εΦφ≥σ≡∩≡σ≥Φ≡εΓαφε ΩαΩ x.ε∩σ≡α÷Φ @(y) ΦδΦ ε∩σ≡α÷Φ @(x,y).
┬√τεΓ ⌠≤φΩ÷ΦΦ
∩σ≡ΓΦ≈φεσ_Γ√≡αµσφΦσ ( ±∩Φ±εΩ_Γ√≡αµσφΦΘ opt )
∩σ≡ΓΦ≈φεσ_Γ√≡αµσφΦσ [ Γ√≡αµσφΦσ ]
*1 "▀τ√Ω ∩≡επ≡α∞∞Φ≡εΓαφΦ ╤Φ" ┴≡αΘ²φα ┬. ╩σ≡φΦπαφα Φ ─σφφΦ±α ╠.
╨Φ≥≈Φ. ▌≥ε ≡≤ΩεΓεΣ±≥Γε ß√δε ∩ε±≥≡εσφε φα ε±φεΓσ "C Programming
Language - Reference Manual" ±Φ±≥σ∞√ UNIX V ± ≡ατ≡σ°σφΦ AT&T Bell
Laboratories. (∩≡Φ∞. αΓ≥ε≡α)
*2 !!! Γ√ΣσδΦ≥ⁿ "∩ε±≥ε φφεΘ °Φ≡Φφ√" °≡Φ⌠≥ε∞, Ωε≥ε≡√∞ ∩σ≈α≥α■≥±
∩≡επ≡α∞∞√ Φ αφπδΦΘ±ΩΦσ ±δεΓα!!!
*3 ▌≥ε≥ ≥σ≡∞Φφ ∩≡Φ∞σφ σ≥± Σδ ε∩Φ±αφΦ Φ±∩εδⁿτεΓαφΦ Γ τ√Ωσ
εΣφεΘ Φ ≥εΘ µσ δσΩ±σ∞√ Σδ εßετφα≈σφΦ ≡ατδΦ≈φ√⌡ ∩≡ε÷σΣ≤≡; ΓΦΣ
∩≡ε÷σΣ≤≡√ Γ√ßΦ≡ασ≥± Ωε∞∩Φδ ≥ε≡ε∞ φα ε±φεΓαφΦΦ Σε∩εδφΦ≥σδⁿφεΘ
Φφ⌠ε≡∞α÷ΦΦ Γ ΓΦΣσ ≈Φ±δα Φ ≥Φ∩α α≡π≤∞σφ≥εΓ Φ ≥.∩.