Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
16
JęzykC++.StandardISOwpraktyce
Operatoramirównieżnastępujące24symboledwu-itrzyznakowe:
-!
__
++
*=
--
/=
.*
%=
-!*
+=
<<
-=
<<=
!!
!!=
<=
!=
&=
==
A=
.=
_=
&&
..
Ponadtowierszetekstuprogramuźródłowego,któremająbyćprzetwarzaneprzezprepro-
cesor,znakujesięsymbolem#lub##wpierwszejkolumnienowegowiersza.
1.5.
Typydanych
Znaczeniepewnejwartościprzechowywanejwobiekcie,tj.wpewnymobszarzepamięci
(reprezentowanymwprogramieprzeznazwanązmiennąlubstałą),lubteżwartościzwracanej
przezfunkcję,zależyodtego,jakinterpretujemy.Mówimy,żeznaczenietozależyodtypu
obiektu.Ogólniebiorąc,typdanejokreśla:
zbiórwartości,doktóregonależystała,bądźjakiemożeprzyjmowaćzmiennaczywyra-
żenie,lubjakiemogąbyćzwracaneprzezfunkcję;
zbióroperacji,któremożnawykonywaćnawymienionychwpoprzednimpunkcieobiektach.
Powyższądefinicjęmożnarozumiećwtakisposób,żetypjestswegorodzajuwzorcem,
zgodniezktórymzachowująsięjegowystąpienia,tj.obiekty.Pisząc„zachowująsię”,mamy
namyślioperacjedopuszczalnedlaobiektówdanegotypu.
1.5.1.
Typywbudowane
KażdaimplementacjajęzykaC++zawieradwiekategorietypówdanych:typypodsta−
wowe(wbudowane,predefiniowane)itypydefiniowaneprzezużytkownika.Deklarując
obiektytypówwbudowanych,wystarczyprzedichnazwamiwpisaćnazwętypu(gdyobiektem
jestzmiennalubstałanazwana),anawetpominąćnazwętypu(gdyzapisujemystałąnienazwaną).
WstandardzieISOustalono,żejęzykC++zawieranastępującetypywbudowane:typbool,
czteryrodzajetypówcałkowitych,trzyrodzajetypówzmiennopozycyjnychoraztypvoid.
Obiekttypuboolmożeprzyjmowaćdwiewartości,falseitrue.
Wprowadzonoczterywbudowanetypycałkowitezeznakiem(pluslubminus):char
(signedchar),wchar_t,shortint,int(signedint)orazlongint(signedlongint).
Dlakażdegotypucałkowitegozeznakiemistniejejegoodpowiednikbezznaku(unsig−
ned),zajmującytylesamopamięci(włączniezinformacjąoznaku).
Dopuszczalnewartościdlawbudowanychtypówcałkowitychzdefiniowanewbiblio-
tecznymplikunagłówkowym<climits>,któregozawartośćjestidentycznaz<limits.h>języka
ANSI/ISOC.
Liczbyniecałkowitereprezentowaneprzeztypyzmiennopozycyjne:float,double
ilongdoubleZbiórwartościtypufloatjestpodzbioremzbioruwartościtypudouble,
któregozbiórwartościjestpodzbioremzbioruwartościtypulongdouble.
Dopuszczalnewartościdlawbudowanychtypówniecałkowitychzdefiniowanewbi-
bliotecznymplikunagłówkowym<cfloat>,któregozawartośćjestidentycznaz<float.h>
językaANSI/ISOC.
Przykład1.2
Pokazanyniżejprogramwyświetlawartościniektórychstałychcałkowitychizmiennopozycyj-
nychśrodowiskabcb6.Zauważmy,żezamiastplikulimits.hmusieliśmywłączyćpliknagłów-