Информация об изменениях

Сообщение Непустой выходной параметр - ваша реакция? от 22.03.2017 11:55

Изменено 23.03.2017 11:54 Basil2

мелкая поправка

Непустой выходной параметр - ваша реакция?
Есть функция:
result_code GetSomething(vector<Something>& output);


При одном из вызовов функции передается непустой вектор. Как, на ваш взгляд, функция должна отреагировать на это?

1. Всегда очищать (лишнее действие, что не в духе плюсов).
2. Игнорировать, т.е. новые значения добавятся к старым ("не очистил сам дурак" — вполне в духе, но добавляет нестабильности).
3. Должен сработать assert (типа assert(!output.empty)).
4. Вернуть ошибку/бросить исключение.
5. Оставлю комментарий со своим вариантом.

(Хотел сделать настоящее голосование, но получаю "500 — Internal server error". Зато здесь можно обсудить более развернуто).

Что скажете?
Непустой выходной параметр - ваша реакция?
Есть функция:
result_code GetSomething(vector<Something>& output);


При одном из вызовов функции передается непустой вектор. Как, на ваш взгляд, функция должна отреагировать на это?

1. Всегда очищать (лишнее действие, что не в духе плюсов).
2. Игнорировать, т.е. новые значения добавятся к старым ("не очистил сам дурак" — вполне в духе, но добавляет нестабильности).
3. Должен сработать assert (типа assert(output.empty)).
4. Вернуть ошибку/бросить исключение.
5. Оставлю комментарий со своим вариантом.

(Хотел сделать настоящее голосование, но получаю "500 — Internal server error". Зато здесь можно обсудить более развернуто).

Что скажете?