If I were a Great Master such as yourself, I would needn't to ask a question here. Now that we have exchanged barbs, I have a book that purports to be an object oriented introduction to C++, and says the word "accessor" refers to a function that does not alter the data. In my application, most routines will need to alter the data. Please enlighten me with regards to how I could use accessor functions to get a syntax as elegant as the one I gave above? Right now I am using
Code:
friend double* Q( RAY* ray ) { return ray->vars + VARS_OFFSET_Q ; }
which gives might ugly code in use.

Brian