In a 3D geometry engine code I read that:
std::vector<GA_Offset*> seems wrong, GA_Offset is merely a 64-bit integer. std::vector<GA_Offset> would be better.
where GA_Offset aka long int is a, possibly, non-contiguous offset to an element in a geometry structure. GA_Offsets remain constant even if an element prior to it is deleted, but will be invalidated if an element is inserted prior to it, or if the element list is defragmented.
In my short C++ experience I've learned that references and pointers are better than passing values. Now I'm a little confused here. Why is storing values in a std::vector is better than pointer? What difference 64-bit int makes?
Aucun commentaire:
Enregistrer un commentaire