Допустим, я знаю парня, который плохо знаком с C ++.Он не передает указатели (правильно), но он отказывается передавать по ссылке.Он всегда использует проход по значению.Причина в том, что он чувствует, что «передача объектов по ссылке является признаком неправильного дизайна».
Программа представляет собой небольшую графическую программу, и большая часть рассматриваемой передачи - это математические объекты Vector (3 кортежа).Есть несколько больших объектов контроллера, но нет ничего более сложного, чем это.
Мне трудно найти убийственный аргумент против использования только стека.
Я бы сказал, что передача по значениюотлично подходит для небольших объектов, таких как векторы, но даже в этом случае в коде происходит много ненужного копирования.Передача больших объектов по значению, очевидно, расточительна и, скорее всего, не то, что вам нужно функционально.
Что касается профессионалов, я считаю, что стек быстрее выделяет / освобождает память и имеет постоянное время выделения.1010 * Единственный важный аргумент, который я могу придумать, заключается в том, что стек может переполниться, но я предполагаю, что это вряд ли произойдет?Есть ли другие аргументы против использования только стека / передачи по значению, а не передачи по ссылке?