A Pascal vs. C kérdés ott jött elő, hogy az lenne a feladat, hogy sok adatot kéne tárolni, esetenként módosítani. Hogy ne kelljen a függvényeknek egymásnak passzolgatni baromi hosszú argumentumlistákat, gondoltam írok egy struct-ot, és deklarálok belőle egy globális példányt. Pascalban ezt meg lehet csinálni:unit Settings;
interface
type TSettings = record
.
.
.
end;
var
s: TSettings; Akkor lesz egy s nevű globális változód a TSettings nevű rekordból. Ugyanez C/C++-ban, ha beleírod egy headerbe:struct Settings {
.
.
.
};
Settings s; Így viszont, mivel a header annyiszor fordul bele a binárisba, ahány helyen inkludálva van, a stuctból lesz x darab lokális, egymástól teljesen független példányod. A megoldás, hogy a headerhez kapcsolódó cpp fájlban deklarálsz egy példányt, a headerben pedig egy interfészfüggvényt.@Prometheus: Kemi, többiek, hogy értek rá? Majd még kiderül. |