From: John P. <pet...@cf...> - 2006-03-24 17:14:15
|
Benjamin S. Kirk writes: > On Thu, 2006-03-23 at 12:52 -0600, John Peterson wrote: > > Yes, we ran into this same problem when reading in adapted grids. > > IIRC, we just delayed the creation of the the Elems until we found who > > their parents should be, but it would have been nice to be able to set the > > parent pointer later. > > > > -J > > > Now, correct me if I'm wrong ('cus const & pointers has always been a > bit confusing to me...) Apparently, it's also confusing to me ;) > but Roy's change should not address John's > problem, right? Roy, you have no intention of redefining an element's > parent, but only to call non-const methods on it? > While a hassle, I prefer John's work-around to keep the pointer itself > unchangeable. The parent-child relationship is pretty fundamental to > what we do and I would hate to accidentally overwrite the parent. And honestly, it's not much of a hassle since when reading in the elements we do it in level order, so a given element is guaranteed to be created before any of its children. Just for completeness, the rule of thumb is to read Foo const * const foo from _right_ to _left_ as: "foo is a constant pointer to a constant Foo object". The location of the first "const" before or after Foo is irrelevant. -J |