Graham Percival <gra...@percival-music.ca> writes:

> On Mon, Jul 30, 2012 at 11:44:28PM +0100, Bernard Hurley wrote:
>> On Mon, Jul 30, 2012 at 10:14:37PM +0100, Phil Holmes wrote:
>> > ----- Original Message ----- From: <gra...@percival-music.ca>
>> >> lily/output-def.cc:38: Real long_name_len = 0.0;
>> >> could these be class member variables instead of global variables?
>> >
>> > I don't believe so.  I'd be happy to be corrected by someone who 
>> > understands this better than I do, but my understanding of c++ (which I 
>> > guess at based on c#) says that, in order to access a class member 
>> > variable, you need to have an instantiation of the class. 
>
> That is true.
>
>> In C++ variables can be declared static. If this is done all instances of
>> the class share the same instance of the variable and it can exist
>> even if the class has no instances see:
>
> Yes, that's also true.
>
> Let me rephrase my concern: in C++-land, having a global variable
> (including static variables) are viewed upon like picking one's
> nose.

That's total nonsense with regard to static member variables.  There are
perfectly valid reasons to have variables per-class (which is what a
static member variable is) rather than per instance, for example for
class reflection (information about the class itself, like its name and
other stuff).  C++ uses the equivalent of static members for its virtual
function tables.

For information _flow_ bound to instances, one would not use global
variables.

It sounds like this would be the case here.

-- 
David Kastrup

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to