[Qt-interest] tracking uniqueness
Oliver Heins
heins at sopos.org
Sat Apr 24 12:36:31 CEST 2010
Thiago Macieira <thiago at kde.org> writes:
> Em Sábado 24. Abril 2010, às 10.10.29, Oliver Heins escreveu:
>> Andreas Pakulat <apaku at gmx.de> 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_) { }
Best regards,
olli
More information about the Qt-interest-old
mailing list