Хотя это очень удобно, я очень редко, если вообще когда-либо, встречаю функции, возвращающие struct
ы (или union
ы) в C, будь то динамически связанные функции или статически определенные функции.
Вместо этого они возвращают данные через параметр-указатель.
(Динамический пример в Windows - GetSystemInfo
.)
В чем причина этого?
Это связано с проблемой производительности, совместимости ABI или чем-то еще?