qt-interest@trolltech.com
[Top] [All Lists]

Re: [Qt-interest] tracking uniqueness

Subject: Re: [Qt-interest] tracking uniqueness
From: Thiago Macieira
Date: Sat, 24 Apr 2010 13:11:51 +0200
Em Sábado 24. Abril 2010, às 12.36.31, Oliver Heins escreveu:
> Thiago Macieira <thiago@xxxxxxx> writes:
> > Em Sábado 24. Abril 2010, às 10.10.29, Oliver Heins escreveu:
> >> Andreas Pakulat <apaku@xxxxxx> writes:
> >> > You seem to have a bit of misconception about this. There is no Editor
> >> > instance in your code. All you do is declare a class and a nested
> >> > class, both can be used without an instance of the other as far as
> >> > your example goes. In particular, this:
> >> > 
> >> > class Editor
> >> > {
> >> > 
> >> > public:
> >> >   class Token
> >> >   {
> >> >   };
> >> > 
> >> > };
> >> > 
> >> > Editor::Token t;
> >> > 
> >> > is perfectly valid compiling code. And there's no instance of Editor
> >> > generated here, there's only a single instance of Token.
> >> 
> >> So it's not possible in C++ to describe the idea: »Every instance of
> >> Token is held by an instance of Editor«?
> > 
> > Of course it is.
> > 
> > The counter is per editor, right? So it's a property of the editor.
> 
> Yes, but I have to hand over the id exlicitely.  I hoped to do something
> like this:
> 
> class Editor
> {
>         class Token
>         {
>         public:
>                 Token () : uniqId(++id_) { }
>         private:
>                 quint32 uniqId;
>         }
> 
>         quint32 id_;
> };
> 
> or to make id_ somehow static only to the instance of Editor.
> 
> But both doesn't work.  Instead, I have to pass id_ explicitely in every
> constructor call:
> 
>          Token(quint32 &id_) : uniqId(++id_) { }

Yes, you have to.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
  Senior Product Manager - Nokia, Qt Development Frameworks
      PGP/GPG: 0x6EF45358; fingerprint:
      E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
_______________________________________________
Qt-interest mailing list
Qt-interest@xxxxxxxxxxxxx
http://lists.trolltech.com/mailman/listinfo/qt-interest
<Prev in Thread] Current Thread [Next in Thread>