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