A stylistic issue that you might wish to consider: Some names with leading underscores (i.e. names of the form _name) are reservered by the standard, so
Herb Sutter recommends using trailing underscores instead (i.e. name_). That way you won't ever hit wierd naming problems when you accidentally use one of the reserved names.
<Advanced>_DarkWIng_: Just off the top of my head would it be any better for each octree node to simply store a pointer into a single contiguous array allocated for the octree as a whole, thus improving locality of reference? I.e:
Octree: [xxxxxxxxxxxxxxxxxxxxxxxx] \ /\ /\ / Node_1 Node_2 Node_3
Probably a premature optimisation, but just something that occured to me. I'd be interested to know your thoughts.</Advanced>