Programovací jazyky C/C++


Opravy, poznámky a doplňky

Tuhle knihu jsem dopsal na konci roku 1991 — v době, kdy byl horkou novinkou překladač Borland C++ 3.0, který přinesl šablony a uměl překládat programy pro Windows 3.0...
Přiznám se, že jsem ji v poslední době považoval za něco, co už patří minulosti. Nicméně z ohlasů čtenářů zjišťuji, že ji stále řada lidí používá, a proto zde uvádím opravy a poznámky k ní. Upozorňuji, že je silně ovlivněna zkušeností s překladači firmy Borland, neboť v době jejího vzniku dominovaly na trhu.

Chcete vědět, jak ta kniha vznikla?

Strana Řádek Je Má být
52obrázek   (Syntaktický diagram je zjednodušený — nevystihuje možnost, že jako první může být i alternativa default a že za alternativou default mohou následovat další alternativy case.)
9310. shora struct Prvek {struct Obs obsah; struct *Prvek dal;}; struct Prvek {struct Obs obsah; struct Prvek* dal;};
1202. shora V Turbo C máme možnost... V jazyce C máme možnost... (Tvrzení patí obecně, nejen v TC.)
1231. shora ...deklaraci proměnné bez specifikace... ...deklaraci globální proměnné bez specifikace...
123K odd. 6.6.1   (Je třeba zdůraznit, že pracovní deklarace nejsou k dispozici v C++ a ani v C nepatří do dobrého programovacího stylu.)
1351. shora sizeof(označení_typu) (Řádek lze odstranit, opakuje se na předchozí straně.)
16010. shora ...před návratem s funkce... ...před návratem z funkce...
16110. shora 1   je-li m = 0 1   je-li n = 0
1878. shora Přitom musíme použít právě jednu hodnotu... Přitom můžeme použít právě jednu hodnotu...
21414. shora Tato direktiva zaručí, že robustní funkce nezmění obsahy žádného z registrů (po vstupu ... obnoveny). Tato direktiva zabezpečí, že při vstupu do robustní (huge) funkce nebude změněn obsah žádného z registrů. Neznamená totéž co modifikátor saveregs (viz 14.9). Příkazy v těle funkce mohou hodnoty registrů měnit.
24110. zdola ...bude mít každý vzdálený objekt vlastní datový segment. (Platilo v Turbo C++ 1.0 a Borland C++ 2.0. Pozdější dosovské překladače firmy Borland ukládaly vzdálené objekty do společného datového segmentu.)
252K odd. 14.9   (Všechny zde rozebírané modifikátory jsou specifika Borland C++.)
252K odd. _saveregs   (Raději tento modifikátor nepoužívejte, může se přeložit špatně — chyby překladačů.)
270obrázky   (Obrázky ukazují možné uložení instancí v paměti. Platí v Borland C++, v jiných překladačích může být jiné.)
2718. shora ...nejprve složky děděné virtuálně... ...nejprve složky děděné nevirtuálně...
29211. zdola ...určuje instanci třídy X, ve kterém... ...určuje instanci třídy X, ve které...
2924. zdola ...ukazatel na instanci třídy X, ve kterém... ...ukazatel na instanci třídy X, ve které...
2938. zdola ... a přístupová práva pro ně nelze předefinovat. ... ale přístupová práva pro ně lze předefinovat.
(Uvedené omezení platilo v některých starších překladačích, ale obecně neplatí — pro členy unií lze specifikovat přístupová práva podobně jako pro členy ostatních objektových typů.)
30510. shora b = c = 2; c = b = 2;
305nadpis 16.7 OPERÁTROR PŘETYPOVÁNÍ OPERÁTOR PŘETYPOVÁNÍ



Na začátek stránky   Moje domovská stránka   Seznam publikací   Poznámky