eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming[C++] Sprawdzenie nulla dla strukturyRe: [C++] Sprawdzenie nulla dla struktury
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
    -for-mail
    From: "GrzybSon" <m...@k...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: [C++] Sprawdzenie nulla dla struktury
    Date: Thu, 18 Feb 2010 11:07:38 +0100
    Organization: http://onet.pl
    Lines: 75
    Message-ID: <hlj3ha$68a$1@news.onet.pl>
    References: <hlgi8b$v01$1@news.onet.pl> <hlgiul$12e$1@news.onet.pl>
    <hlgjtt$3tm$1@news.onet.pl> <hlgk8c$51p$1@news.onet.pl>
    <hlgkl2$64i$1@news.onet.pl> <hlglqh$97b$1@news.onet.pl>
    <hlgmho$bse$1@news.onet.pl> <hlgodc$hdq$1@news.onet.pl>
    <hlgqh6$nih$1@news.onet.pl> <hlgr4a$p3s$2@news.onet.pl>
    <hlgrtj$ruo$1@news.onet.pl> <hlh87d$ngd$1@news.onet.pl>
    <hliuef$n55$1@news.onet.pl> <o...@4...net>
    NNTP-Posting-Host: 62-121-97-180.home.aster.pl
    X-Trace: news.onet.pl 1266487658 6410 62.121.97.180 (18 Feb 2010 10:07:38 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Thu, 18 Feb 2010 10:07:38 +0000 (UTC)
    X-Priority: 3
    X-MSMail-Priority: Normal
    X-Newsreader: Microsoft Outlook Express 6.00.2900.5512
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512
    X-RFC2646: Format=Flowed; Original
    X-EsetScannerBuild: 6613
    Xref: news-archive.icm.edu.pl pl.comp.programming:184876
    [ ukryj nagłówki ]

    Użytkownik "Łukasz 'Maly' Ostrowski" <m...@U...pl> napisał w wiadomości
    news:ooc6nc4igkw0.gfm4k8thtl9k.dlg@40tude.net...
    > On Thu, 18 Feb 2010 09:40:47 +0100, GrzybSon wrote:
    >
    >> Użytkownik "Jędrzej Dudkiewicz" <j...@g...com> napisał w
    >> wiadomości news:hlh87d$ngd$1@news.onet.pl...
    >>> Ale przecież w tym przypadku to jest zawsze prawda, to po co ten warunek
    >>> tam umieszczać?
    >>
    >> Racja.
    >> Wkońcu skonsultowałem się ze specem od C++ i okazuje się, że unia zawsze
    >> ma
    >> wypełnione struktury domyślnymi wartościami
    >
    > Huh? Kto jest rzekomym specem od C++? Sprzątaczka firmowa? ;-)
    Sprzątaczka programuje tylko ... pralki :)
    Widzę
    >
    > W czymkolwiek bez explicit inicjalizacji będą śmieci z memory
    > allokatora.
    >
    >> (inaczej jest w C#),
    >
    > Unie w C#? Czy "inaczej" == "struktury NIE SĄ inicjowane domyślnymi
    > wartościami w C#"? Pogrąża sie Kolega powoli, acz stopniowo.

    Nie pogrążam tylko nie zakumałeś o czym mowa:

    struct TopStruct
    {
    int i;
    string komunikat;
    NestedStruct nested;
    }

    struct NestedStruct
    {
    InnerStruct inner;
    }

    jeżeli teraz wykonam taki kod

    TopStruct str = new TopStruct();
    to komunikat będzie nullem
    tak samo jak nested
    i będzie miało wartość 0

    Inaczej to wygląda w C++ gdzie po wywołaniu memseta na TopStruct zostaje
    odrazu wypełniona wartościami cała struktura
    TopStruct razem z jej zagnieżdżeniami. Może i tam są śmieci, ale jakieś
    wartości są.

    >
    >> więc to sprawdzenie rzeczywiście nie ma sensu. Jedynie
    >> co muszę zrobić to sprawdzać poszczególne pola w strukturze czy są
    >> zainicjowane jakimiś sensownymi wartościami (mówię tu np. o char *, który
    >> jest odpowiednikiem stringa w .NET).
    >
    > Monte-Carlo? Prawopodobnie jak już sie trzeba pchać w wątpliwe rozwiązania
    > to lepiej to zrobić jakimś sprawdzonym patternem:
    >
    > http://en.wikipedia.org/wiki/Tagged_union
    >
    > Czyli "przekazywać dodatkowe info który variant jest obowiązujący".
    >
    > A najlepiej to przemyśleć całość od nowa. ;-).
    >
    > --
    > Pozdrawiam,
    > Łukasz 'Maly' Ostrowski. http://l3v.pl/
    > ICQ: 148498663 GG: 2544385 AIM: malyzgora
    > GTalk: l...@g...com ASTRA: L3viathan



Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: