-
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;
}
Następne wpisy z tego wątku
- 14.08.17 15:17 Borneq
- 14.08.17 15:26 Borneq
- 14.08.17 15:36 M.M.
- 16.08.17 22:16 AK
- 16.08.17 22:17 AK
- 16.08.17 23:31 M.M.
- 17.08.17 18:01 fir
- 17.08.17 23:56 Wojciech Muła
- 18.08.17 07:09 Borneq
- 18.08.17 07:50 AK
- 18.08.17 07:54 AK
- 18.08.17 07:58 AK
- 18.08.17 08:01 AK
- 18.08.17 09:20 fir
- 18.08.17 10:42 bartekltg
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-17 ZŁOMNIK o pracy w TVN TURBO, nowych przepisach i współczesnej motoryzacji. Turbo Taryfa!
- 2024-05-17 Białystok => DevOps Engineer Conexa First (Contractor) <=
- 2024-05-17 Warszawa => Starszy inżynier oprogramowania (Rust) <=
- 2024-05-17 Zabrze => Junior HelpDesk <=
- 2024-05-17 Bieruń => Administrator i wdrożeniowiec Lotus Notes/Domino <=
- 2024-05-17 Warszawa => Senior Software Engineer PHP (BillPro) Contractor <=
- 2024-05-17 Warszawa => International freight forwarder <=
- 2024-05-17 Warszawa => Fullastack (Java) Developer <=
- 2024-05-17 Lublin => Business Development Manager - obszar bezpieczeństwa IT <=
- 2024-05-17 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-17 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-17 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-05-18 wojna wojno a kredyt trzeba spłacać
- 2024-05-16 Samo rozładowywanie baterii trakcyjnej w elektryku.
- 2024-05-16 Warszawa => Senior PHP Developer (Symfony) <=