Re: C++ and garbage collection

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5 February 2011 14:46, Enrico Weigelt wrote:
>> >
>> >> One viable approach is to modify the uses of pointers into shared_ptr
>> >> (from TR1 or boost) and then add the Boehm collector.  This process
>> >> takes work, because changing all pointers won't work and changing
>> >> none won't buy you anything.
>> >
>> > Guess this would take a lot of work and add more dependencies
>> > (than just the relatively small boehm-gc lib) ...
>>
>> GCC includes a tr1::shared_ptr so there's no extra dependency if you
>> are only planning to use g++, and std::shared_ptr is part of C++0x.
>
> How does that one actually work and what do I have to do to use it ?

#include <tr1/memory>

int main()
{
  using std::tr1::shared_ptr;

  shared_ptr<int> p(new int);
  *p = 5;
  assert( *p == 5 );
  shared_ptr<int> p2(p);
  assert( p == p2 );
  assert( p.use_count() == 2 );
  p.reset();
  assert( p.use_count() == 0 );
  assert( p2.use_count() == 1 );
} // int deleted here

for more info read the docs for boost::shared_ptr (where the class
originated) or search the web, there is plenty of info on shared_ptr.



[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux