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