Hacker News new | ask | show | jobs
by ant6n 4189 days ago
If you use a std::List<T>, doesn't it uses nodes like

    T data
    p next
    p previous
    p owner
anyway? It shouldn't create a pointer to the data, just like a std::vector<T> isn't an array of pointers to T.
2 comments

Let's say I have a bunch of Bullet objects, and each Bullet belongs to multiple lists. In that case, std::list<Bullet> doesn't work and I have to use std::list<Bullet*> instead, thus the extra pointer dereference.
Only without the owner pointer. But intrusive lists don't need an owner pointer either.