У меня есть класс (упрощенный):
class a {
private:
std::vector<a> arguments;
public:
std::vector<a> getargs() { return arguments; }
};
Предположим, класс имеет функцию-член:
void a::bubble() {
arguments = arguments[0].getargs();
}
Является ли этот кошерный (в том смысле, что источник данных, аргументы [0], удаляется в результате выполнения команды)?
Он работает на моем компиляторе, но я просто хотел проверить, гарантирует ли стандарт c ++ безопасность этой операции.