Re: Re:
- From: Culpian Camilo Martin <camiloculpian gmail com>
- To: Murray Cumming <murrayc murrayc com>
- Cc: gtkmm-list gnome org
- Subject: Re: Re:
- Date: Fri, 28 Jan 2011 10:04:06 -0300
El vie, 28-01-2011 a las 12:26 +0100, Murray Cumming escribió:
> On Fri, 2011-01-28 at 08:18 -0300, Culpian Camilo Martin wrote:
> > El vie, 28-01-2011 a las 10:13 +0100, Murray Cumming escribió:
> > > On Fri, 2011-01-28 at 10:07 +0100, Chris Kühl wrote:
> > > > On Fri, Jan 28, 2011 at 5:37 AM, Culpian Camilo Martin
> > > > <camiloculpian gmail com> wrote:
> > > > > Hi, I'd like to create my own Gobject in C++, I have to inherit from
> > > > > Glib::ObjectBase or Glib::Object?, where can i find some good
> > > > > documentation?
> > >
> > > The answer really depends on what you actually want to achieve.
> > >
> > What i want to do is to crate objects that can use Glib::RefPtr, (not
> > necesary widgets), like
> >
> > class foo : public (Glib::Object or ObjectBase)
> > {
> > static Glib::RefPtr<foo> create
> > (
> > return Glib::RefPtr<foo>(new foo());
> > );
> > foo();
> > ~foo();
> > }
>
> That's not a particularly good idea. If you want reference-counting then
> try using a non-intrusive reference-counting shared pointer, for
> instance from boost.
>
> Or make your own, like I do in Glom:
> http://git.gnome.org/browse/glom/tree/glom/libglom/sharedptr.h
>
ok, i'll try it, i have had some troubles doing this:
class foo
{
static ref_ptr<foo> create
(
return ref_ptr<foo>(new foo());
);
foo();
~foo();
ref_ptr<foo> set_something()
{
//set something
return ref_ptr<foo>(this);
//for using foo->set_something()->set_something();
// oviously the ref_ptr delete "this", and cause a segfault
// any idea how can avoid this?
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]