co oznacza taki zapis?
Ostatnio zmodyfikowano 2011-04-09 23:37
markon Temat założony przez niniejszego użytkownika |
» 2011-04-09 20:08:31 no ja wiem, że jest, ale typedef daje nam tyle że nie będziemy musieli pisać struct ABC obiekt tylko ABC obiekt // dzięki wcześniejszemu typedef, jednak moje wątpliwości dotyczą czegos inego |
|
ison |
» 2011-04-09 20:11:18 ale typedef daje nam tyle że nie będziemy musieli pisać struct ABC obiekt tylko ABC obiekt // dzięki wcześniejszemu typedef,
|
nie... typedef to zupełnie coś innego to zapis z C, nie ma nic wspólnego z typedef struct { } AAA;
typedef struct { } BBB;
int main() { BBB Foo2; AAA Foo1; }
w powyższym przypadku BBB to nie jest obiekt, zaś AAA jest obiektem |
|
markon Temat założony przez niniejszego użytkownika |
» 2011-04-09 20:55:56 co to jest BBB nie rozumiem jeszcze jednej rzeczy co jeśli przy strukturze podałbym nazwę struktury? w takim razie jak zadziała typedef? |
|
ison |
» 2011-04-09 21:02:46 nazwa struktury (nie obiektu) przy której użyłem nie rozumiem jeszcze jednej rzeczy co jeśli przy strukturze podałbym nazwę struktury? w takim razie jak zadziała typedef?
|
będziesz mógł tworzyć obiekty danej struktury/klasy przez którąkolwiek nazwę, typedef to tak jakby alternatywna nazwa dla danej klasy/struktury... typedef int nowa_nazwa;
int main() { int a; nowa_nazwa b; }
typedef struct nazwaA { } nazwaB;
int main() { nazwaA pierwszy_obiekt; nazwaB drugi_obiekt; }
|
|
markon Temat założony przez niniejszego użytkownika |
» 2011-04-09 23:33:13 ok, już rozumiem, mam jeszcze pewną wątpliwość jeśli mam: struct{ ... }AAA;
AAA jest obiektem, co jeśli będę chciał teraz utworzyć obiekt tej klasy, bądź jakoś inaczej ją zastosować? czy tak samo zachowa się klasa? |
|
ison |
» 2011-04-09 23:37:34 @up jeśli nie użyłeś to oznacza że utworzyłeś obiekt tej struktury o nazwie AAA nigdzie indziej już nie możesz tworzyć obiektu tej struktury, gdyż nie ma ona nazwy; masz jeden jedyny obiekt o nazwie AAA |
|
1 « 2 » |