LINUX.ORG.RU

История изменений

Исправление redbaron, (текущая версия) :

Юзай одно из

 void getVec5(std::vector<int> &vec);
    void getVec6(std::vector<int> *vec);

на выбор. Конкретный вариант является объектом срача.

Всегда предпочитаю вовзращать явно:

std::vector<int> getVec();

Преимущества:

  • читается легче (сразу видно, что возвращаешь)
  • можно результат одной функции передать в качестве аргумента другой.
  • компактнее сгенерированный код

Если есть опасения, что тут случается лишнее копирование, то при следованиям нехитрым правилам никакого копирования не случится и вектор будет создан сразу в точке назначения.

Исходная версия redbaron, :

Юзай одно из

 void getVec5(std::vector<int> &vec);
    void getVec6(std::vector<int> *vec);

на выбор. Конкретный вариант является объектом срача.

Всегда предпочитаю вовзращать явно:

std::vector<int> getVec();

Преимущества:

  • читается легче (сразу видно, что возвращаешь)
  • можно результат одной функции передать в качестве аргумента другой.
  • компактнее сгенерированный код

Если есть опасения, что тут случается лишнее копирование, то при следованиям нехитрым правилам никакого копирования не случится и вектор будет создан сразу в точке назначения.