eGospodarka.pl
eGospodarka.pl poleca

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

    A tu przyklad kliniczny tego, czym sie roznia Ayatollay C++ ode mnie czy innych
    "Dinozaurow" :)

    Nie tak dawno na pl.comp.lang.c (Eh.. po co tam znow polazlem ? :) Poprawie sie od
    jutra..):
    Napisalem, jako przyklad antyprogramowania ("koszmarek"):

    "
    Użytkownik "Kicer" <...@...c> napisał:

    > czasem można sobie poradzić za pomocą "?:"

    Tu jest to wzglednie proste:

    const volatile double x = (warunek) ? (zrob1(), zrob2(), zrob3()) : (zrob4(),
    zrob5());

    Tyle ze znow robi sie koszmarek, mimo ze poprawny niby w pelni.

    PS: zaraz bedzie sciana ze niby wystarczy za cale C && || i ,

    AK
    "

    A dzis jeden (nieglupi zreszta, a nawet wiecej) Ayatollah C++
    podaje ten/podobny koszmerek calkiem pozwanie jako alternatywe:

    "
    >> final double x;
    >> if (warunek) {
    >> zrob1();
    >> zrob2();
    >> x = zrob3();
    >> } else {
    >> zrob4();
    >> x = zrob5();
    >> }
    > Można zrobić coś takiego(choć nie jest idealne):
    > const double x=[&]{
    > if(w1){
    > {
    > zrob1();
    > zrob2();
    > return zrob3();
    > }else{
    > zrob4();
    > return zrob5();
    > }
    > }();

    const double x = w1 ? (zrob1(), zrob2(), zrob3())
    : (zrob4(), zrob5());

    jak ktoś nie lubi tak zwięźle, to może sobie dodać nowe linie i tabulację.

    B.
    "

    No rece opadaja :)

    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: