-
Data: 2010-02-18 10:07:38
Temat: Re: [C++] Sprawdzenie nulla dla struktury
Od: "GrzybSon" <m...@k...pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
Następne wpisy z tego wątku
- 18.02.10 10:09 GrzybSon
- 18.02.10 11:54 Łukasz 'Maly' Ostrowski
- 18.02.10 12:34 GrzybSon
- 18.02.10 12:43 Łukasz 'Maly' Ostrowski
- 18.02.10 12:55 GrzybSon
- 18.02.10 13:15 Łukasz 'Maly' Ostrowski
Najnowsze wątki z tej grupy
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
- "Wuj dobra rada" z KDAB rozważa: Choosing the Right Programming Language for Your Embedded Linux Device
- Nowa ustawa o ochronie praw autorskich - opis problemu i szkic ustawy
- Alg. kompresji LZW
Najnowsze wątki
- 2025-05-18 "Dobre obyczaje"? WTF?!
- 2025-05-18 Zgodnie z prawem, 11-letnia Patrycja może być przesłuchiwana jedynie w obecności matki, a nie psycholoszki
- 2025-05-18 MMSy
- 2025-05-18 Wiceminister "sprawiedliwości" A. Myrcha złamał ciszę wyborczą [rzepa]
- 2025-05-17 Głosowanie na prezydenta mDowód
- 2025-05-17 Karol i Patrycja - a może wielka miłość jak Romeo i Julia
- 2025-05-17 Re: Pamientajta, aby zamknÄ Ä ryje, bo jest cisza wyborcza, a co powiecie
- 2025-05-17 Phishing obok nas.
- 2025-05-17 poznaj siłe swoich pieniędzy
- 2025-05-17 Warszawa => Senior IT Recruitment Consultant <=
- 2025-05-17 Warszawa => DevOps Engineer <=
- 2025-05-17 Warszawa => Junior Account Manager <=
- 2025-05-17 Warszawa => Senior Programmer C <=
- 2025-05-17 Polska => Senior Key Account Manager <=
- 2025-05-17 Migracje i przestępczość