[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: Best code practice for new objects
- From: Nicola Fontana <ntd users sourceforge net>
- To: gtk-app-devel-list gnome org
- Subject: Re: Best code practice for new objects
- Date: Sun, 18 May 2008 13:44:06 +0200
On Sun, 18 May 2008 12:04:12 +0100
Emmanuele Bassi <ebassi gmail com> wrote:
> On Sun, 2008-05-18 at 12:54 +0200, Nicola Fontana wrote:
> > struct _MyInstance
> > {
> > MyParent *parent;
> > };
>
> no, it will be:
>
> struct _MyInstance
> {
> MyParent parent_instance;
> };
You're right. Just to see if you notice it...
> > for every object, and this sounds me quite weird.
>
> why?
Well, it was stinking as a useless struct.
> > Is this a common approach?
>
> yes, if you plan to only have accessor functions. you might provide
> structure members, but that will make it difficult to change them, in
> case you plan to restructure your API.
>
> > Is there an official/preferred/best way to do this?
>
> you can also have a:
>
> MyInstancePrivate *priv;
>
> pointer, to avoid the calls to G_TYPE_INSTANCE_GET_PRIVATE() every time
> you need to access the private data.
Do you mean to assign G_TYPE_INSTANCE_GET_PRIVATE() to priv
after the object instantiation? This is a good idea.
The GObject tutorial, if I caught it well, uses priv as a
pointer you must alloc/dealloc by hand, and this will add a new
malloc on every instantiation... not so good, but maybe this is
the old school.
> remember: the instance structure should be as opaque as possible.
>
> ciao,
> Emmanuele.
>
> --
> Emmanuele Bassi,
> W: http://www.emmanuelebassi.net
> B: http://log.emmanuelebassi.net
Thank you for your feedback: this was exactly what I was looking
for.
Ciao
--
Nicola
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]