eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingRe: W C++ brak finally?Re: W C++ brak finally?
  • Data: 2012-06-29 10:47:22
    Temat: Re: W C++ brak finally?
    Od: "AK" <n...@n...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Użytkownik "Maciej Sobczak" <s...@g...com> napisał:

    > Od dłuższego czasu unikasz wywiązania się z obietnicy udowodnienia, że (a + b) + c
    i a + (b + c)
    > to jest to samo.

    Hm.. Bo jest ! :)
    A precyzyjniej (jak od poczatku twierdzilem): moze byc, bo C/C++ nie determinuje nie
    tylko
    kolejnosci
    evaluowania podwyrazen "at all", ale takze kolejnosci ewaluowania wynikow czesciowych
    w przypadku
    operatorow o tym samym priorytecie i nie robia tego rowniez nawiasy.
    A jesli "moze byc" to nalezy przyjac ze "jest" i nie wymuszac kolejnosci obliczen
    nawiasami
    (bo nie one w C/C++ do tego sluza) bo to moze (jak udowodnilem) nic nie dac i _bedzie
    katastrofa_.

    bar.cpp
    =====
    int bar(int a, int b, int c)
    {
    return (a + b) + c;
    }

    foo.cpp
    =====
    int foo(int a, int b, int c)
    {
    return a + (b + c);
    }

    D:\>diff bar.asm foo.asm
    3c3
    < ; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.30729.01
    <
    < TITLE D:\bar.cpp
    ---
    > ; Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.30729.01
    >
    > TITLE D:\foo.cpp
    12c12
    < PUBLIC ?bar@@YAHHHH@Z ; bar
    ---
    > PUBLIC ?foo@@YAHHHH@Z ; foo
    14c14
    < ; COMDAT ?bar@@YAHHHH@Z
    ---
    > ; COMDAT ?foo@@YAHHHH@Z
    19,20c19,20
    < ?bar@@YAHHHH@Z PROC ; bar, COMDAT
    < ; File d:\bar.cpp
    ---
    > ?foo@@YAHHHH@Z PROC ; foo, COMDAT
    > ; File d:\foo.cpp
    28c28
    < ?bar@@YAHHHH@Z ENDP ; bar
    ---
    > ?foo@@YAHHHH@Z ENDP ; foo

    > Przez moment zrobiłeś wybieg twierdząc, że programy kompiluje się kompilatorem a
    nie standardem -
    > to świetny wybieg,
    > bo pozwala schować pod dywan nieznajomość standardu.

    Alez to najprawdziwsza prawda :) Row sie kopie "fizyczna" lopata, a nie jej rysunkiem
    technicznym.

    > Problem w tym, że o kompilatorach też nie masz pojęcia.

    Jakies tam pojecie mam, bo.. je wlasnie piszę ;).
    No dobrze :) Nie kompilatory, ale parsery.
    Mam na "rozkladzie" gramatyke: C, C++, Java, C#, IDL (Corbowy) i pewien OQL
    ( + na razie puste podkatalogi Ada, VB, SIM).

    PS: Do reszty sie nie odniose, bo to bajania nawiedzonego teoretyka ktoremy sie
    wydaje,
    ze "wie" bo se standard pod poduszke wlozyl.

    AK

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: