eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingAutomatic Reference Counting › Re: Automatic Reference Counting
  • X-Received: by 10.31.67.78 with SMTP id q75mr148176vka.10.1502717779884; Mon, 14 Aug
    2017 06:36:19 -0700 (PDT)
    X-Received: by 10.31.67.78 with SMTP id q75mr148176vka.10.1502717779884; Mon, 14 Aug
    2017 06:36:19 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
    e.net!feeder.erje.net!2.us.feeder.erje.net!weretis.net!feeder6.news.weretis.net
    !feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.g
    iganews.com!nntp.giganews.com!m34no1271071iti.0!news-out.google.com!i9ni610qte.
    0!nntp.google.com!w51no1547339qtc.0!postnews.google.com!glegroupsg2000goo.googl
    egroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Mon, 14 Aug 2017 06:36:19 -0700 (PDT)
    In-Reply-To: <oms7gf$bbk$1@node2.news.atman.pl>
    Complaints-To: g...@g...com
    Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.45.64;
    posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
    NNTP-Posting-Host: 77.254.45.64
    References: <omqmm6$vvs$1@node2.news.atman.pl>
    <7...@g...com>
    <omqrh3$4kl$1@node2.news.atman.pl>
    <e...@g...com>
    <omrm61$r61$1@node2.news.atman.pl>
    <b...@g...com>
    <oms7gf$bbk$1@node2.news.atman.pl>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <a...@g...com>
    Subject: Re: Automatic Reference Counting
    From: "M.M." <m...@g...com>
    Injection-Date: Mon, 14 Aug 2017 13:36:19 +0000
    Content-Type: text/plain; charset="UTF-8"
    Content-Transfer-Encoding: quoted-printable
    Lines: 61
    Xref: news-archive.icm.edu.pl pl.comp.programming:211047
    [ ukryj nagłówki ]

    On Monday, August 14, 2017 at 3:10:41 PM UTC+2, Borneq wrote:
    > 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;
    Dopiero teraz nie mam wątpliwości, co nazywałeś pętlą w
    pierwszym wątku :)
    > 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: