-
Data: 2012-07-02 16:54:40
Temat: Re: W C++ brak finally?
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 02.07.2012 10:36, AK wrote:
> Użytkownik "Artur M. Piwko" <m...@b...pl> napisał:
>
>> Jako wyłączny obserwator wątku chciałbym zaznaczyć, że jeśli coś nie
>> zachodzi zawsze to nie jest to własność spełniona.
>
> Racja. Dokladnie o to chodzi.
> Nawiasy w C/C++ nie zawsze determinuja kolejnosc "podobliczen",
Zgadza się, determinują wynik. Nie determinują kolejności obliczeń w
przypadku gdy nie ma to znaczenia dla wyniku[1], co zresztą napisałem w
wiadomości będącej początkiem Twojego rantu na mnie [4]
> (a raczej ~na pol), a wiec wlasnosc ta (uzywanie wylacznie nawiasow
> do wymuszania tejze kolejnosci) nie jest spelniona.
Nieprawda. Kompilator zapewnia, że jeżeli wykona optymalizację to nie
zmieni ona wyniku na inny niż opisany za pomocą wyrażenia. Czyli nawet
jeżeli liczy inaczej niż to wynika z zapisu to uzyskany wynik jest taki
jaki został wymuszony nawiasami.[3]
Np:
(a+b)+(a+b) zostanie prawdopodobnie policzone na uintach jako (a+b)*2,
ale już na float nie. W obu przypadkach wynik będzie dokładnie taki jak
to zapisano nawiasami.
> W tych jezykach rowniez kolejnosc obliczania podwyrazen
> jest jednooznacznie zdeterminowana (od lewej do prawej).
> W C/C++ nie.
W C++ jest zdefiniowane grupowanie, czyli kolejność obliczeń.
"Niezdefiniowana kolejność obliczania podwyrażneń" oznacza tylko tyle,
że standard nie narzuca w jakiej kolejności liczyć niezależne składowe.
(Np. lewa i prawa strona przypisania.)
[1] Ściśle mówiąc zapewnienie jest szersze, dotyczy zarówno
obserwowalnego zachowania jak i efektów ubocznych.
[3] Standard opisuje "abstrakcyjną maszynę" i na niej definiuje
operacje. W tym tworze tożsamości znane z matematyki jak np. a/b==1/b*a
nie są w ogólności prawdziwe, za to prawdziwe są inne np. dla typu char
w arytmetyce modulo bez trap na przepełnieniu (char)255==-1.
[4] nntp://jn386g$qrf$...@m...internetia.pl
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 04.07.12 16:06 Artur Muszyński
- 05.07.12 02:01 Michoo
Najnowsze wątki z tej grupy
- Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- 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
Najnowsze wątki
- 2025-07-18 Szczecin => Key Account Manager IT <=
- 2025-07-18 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-18 Łódź => Mainframe (z/OS, Assembler) Developer <=
- 2025-07-18 Lublin => Delphi Programmer <=
- 2025-07-18 Lublin => Programista Delphi <=
- 2025-07-17 Grok zaczął nadużywać wulgaryzmów i wprost obrażać niektóre znane osoby
- 2025-07-17 Andrzej Duda ułaskawił Roberta Bąkiewicza od zarzutu zapchnięcia ze schodów aktywistki Babci Kasi
- 2025-07-17 Policjanci katowali niewinnego człowieka, ale są niewinni
- 2025-07-17 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-17 Warszawa => IT Hardware Specialist - Wsparcie i Konfiguracja <=
- 2025-07-17 Warszawa => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-07-16 deltaT w pompie ciepla
- 2025-07-16 dron na granicy polsko niemieckiej
- 2025-07-16 Warszawa => Senior IT Recruitment Consultant <=
- 2025-07-16 Gdańsk => Mainframe (z/OS, Assembler) Developer <=