You don't have to initialize it to any size, since its a resizable array.
All you do is, if you want the vector as a member of a class, then you would want to add a public function which can push_back() elements to the vector, which can be a private member instead of public.
Something that looks like this:
Code:
class Entity {
public:
void addElementsToVector(Entity &ref);
private:
std::vector<Entity&> kids;
};
void Entity::addElementsToVector(std::vector<Entity&> &ref) {
kids.push_back(ref); //add the reference to the vector
}
int main() {
Entity object; //create object of class
Entity object2; //create another object of class
object.addElementsToVector(object); //add a reference to 'object' to your vector
object.addElementsToVector(object2); //add a reference to 'object2' to your vector
return 0;
}