eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingCzym jest programowanie?Re: Czym jest programowanie?
  • Data: 2012-06-14 21:41:32
    Temat: Re: Czym jest programowanie?
    Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 14.06.2012 08:41, Stachu 'Dozzie' K. wrote:
    > On 2012-06-13, Michoo<m...@v...pl> wrote:
    >> int b=64;
    >> int a=32;
    >> auto l = [&]()->int { return b+a; };
    >> printf("%i %i: %i\n",a,b,l());
    >> b=1,a=3;
    >> printf("%i %i: %i\n",a,b,l());
    >
    > A jak opuścisz teraz blok, gdzie są zdefiniowane a i b?
    >
    To masz wiszącą referencję.

    Zależnie od kontekstu możesz:
    1. przekazać przez wartość [=]
    2. przenieść zmienną lokalną do pola klasy
    3. zrobić ze zmiennej lokalnej wartość współdzieloną, np:
    std::function<int(void)> foo(){
    std::shared_ptr<int> a(new int),b(new int);
    *a=10;
    *b=15;
    return [=](){return *a+*b;};
    }

    --
    Pozdrawiam
    Michoo

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: