eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingAutomatic Reference Counting › Re: Automatic Reference Counting
  • Data: 2017-08-14 15:10:41
    Temat: Re: Automatic Reference Counting
    Od: Borneq <b...@a...hidden.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 14.08.2017 o 10:31, M.M. pisze:
    > Widzę że coś jak QMutexLocekr w Qt, tylko że mutex locker samo
    > odblokowuje mutex a nie zwalnia pamięć :)
    > http://doc.qt.io/qt-4.8/qmutexlocker.html

    W poniższym przykładzie listy cyklicznej jest coś źle.
    Shared nie powinien zwalniać, a zwalnia wszystkie z wyjątkiem jednego i
    to przed opuszczeniem test(),
    zamiana na weak skutkuje tym że jest na zmianę tworzenie i zaraz
    zwalnianie. Coś nie tak, jak w teorii.

    #include <memory>
    #include <iostream>
    using namespace std;

    class Node
    {
    private:
    int n;
    public:
    Node(int n): n(n)
    {
    cout << "Constructor Node is called " << n <<endl;
    }
    ~Node()
    {
    cout << "Destructor Node is called " << n << endl;
    }
    shared_ptr<Node> prev;
    };



    int test()
    {
    shared_ptr<Node> node = shared_ptr<Node>(new Node(0));
    shared_ptr<Node> first = node;
    for (int i = 1; i < 5; i++)
    {
    shared_ptr<Node> prev = node;
    node = shared_ptr<Node>(new Node(i));
    node->prev = prev;
    }
    node->prev = node;
    printf("====\n");
    return 0;
    }

    int main()
    {
    test();
    return 0;
    }

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: