Нет, это не будет.
vector ins;
хранит значения, а не ссылки. Это означает, что независимо от того, как вы, но этот объект Instruction там, он будет скопирован в какой-то момент в будущем.
Кроме того, поскольку вы выделяете new
, приведенный выше код течет, что объект. Если вы хотите сделать это правильно, вам нужно будет
vector ins
Или еще лучше:
vector< std::reference_wrapper > ins
Мне нравится в этом блоге для объяснения reference_wrapper
Это поведение называется срезом объектов .