Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

co oznacza taki zapis?

Ostatnio zmodyfikowano 2011-04-09 23:37
Autor Wiadomość
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
P-30509
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
C/C++
struct ABC obiekt;
to zapis z C, nie ma nic wspólnego z typedef

C/C++
struct {
   
} AAA;

typedef struct {
   
} BBB;

int main()
{
    BBB Foo2; //OK
    AAA Foo1; //ERROR
}
w powyższym przypadku BBB to nie jest obiekt, zaś AAA jest obiektem
P-30510
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?
P-30521
ison
» 2011-04-09 21:02:46
co to jest BBB
nazwa struktury (nie obiektu) przy której użyłem
C/C++
...
} BBB;

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...
C/C++
typedef int nowa_nazwa;

int main()
{
    int a;
    nowa_nazwa b;
}

C/C++
typedef struct nazwaA
{
   
} nazwaB;

int main()
{
    nazwaA pierwszy_obiekt;
    nazwaB drugi_obiekt;
}
P-30522
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?
P-30529
ison
» 2011-04-09 23:37:34
@up jeśli nie użyłeś
C/C++
typedef
 to
C/C++
struct {
    ...
} AAA;
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
P-30530
1 « 2 »
Poprzednia strona Strona 2 z 2