Ужасный код
да. ужассный.
даже для псевдокода.
у всех здоровых людей
dst - это получатель данных.
поэтому, если бы код писал моральный человек,
тогда он был бы примерно таким:
void DoSomething(std::vector<double>& dst)
{
// ...
dst.push_back(value);
// ...
}
тобишь, если в примере-иллюстрации было использованно имя
dst,
то и отображаться оно должно как получатель.
а если же у человека изначально не было цели иллюстрировать
получателя,
тогда и не нужно вообще использовать имя
dstvoid DoSomething()
{
std::vector<double> sample;
// ...
sample.push_back(value);
// ...
}
а кроме того, в своём аморальном примере, ты допустил двусмысленность:
в языке с++,
троеточие - это ключевое слово языка.
причем, по правилам языка, необходимо,
что бы элипсису предшествовал хотя бы один явный параметр.
поэтому, код здорового человека имеет вид:
void DoSomething(param, ... )
и вот тут одно из двух:
1. либо ты накосячил, забыв указать явный параметр.
2. либо под элипсисом ты вообще подразумевал не элипсис в терминологии языка,
а просто любой произвольный набор параметров, или что-то в таком духе.
в таком случае это просто вопиюще аморальный поступок.
сознательно коверкать официальную терминологию языка,
и таким образом только запутывать людей - это вообще какое то днище.
за гранью здравого смысла.
зачем так делать?
по крайней мере с точки зрения рекомендации выше
не очень понятно, о каких таких рекомендациях ты вещаешь.
Тем не менее никто не стал бы тут чего-то "оптимизировать", такая мысль даже не зародилась бы. Просто потому что кроме "расходов памяти" и "скорости" есть еще мощнейший аргумент - расходы на написание кода.
адекватный человек пишет код, который не совершает бессмысленных действий.
адекватный человек понимает:
динамика нужна при решении задач,
когда количество элементов заранее не известно,
или может изменяться в рантайме.
адекватный человек понимает,
что если кол-во элементов фиксированное,
тогда и нет никакого смысла использовать медленную динамику.
можно использовать более быстрое статичное решение.
адекватный человек понимает,
что если по смыслу задачи память необходимо выделить только и только один раз,
тогда нет никакого смысла не только в динамике,
а вообще - нет никакого резона в автоматическом объекте.
и что самое главное:
для того, что бы осознавать столь
очевидные вещи,
не нужно быть семи пядей во лбу,
и тратить кучу времени на какие то сложные размышления.
никакая оптимизация здесь не причем.
это - просто здравый смысл.
Зачем же давать рекомендации которым сами не следуем?
как я уже писал выше: не очень понятно:
о каких таких рекомендациях ты вещаешь?