ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
1053624 Топик полностью
fk0, легенда (19.11.2020 15:27, просмотров: 312) ответил my504 на Интересно почему так не прокатывает с массивами, которые уже требуют memcpy?
В C/C++ вообще нет массивов как типа данных... Он всегда редуцируется до указателя на первый элемент. Массив, в частности, нельзя передать в качестве аргумента функции, нельзя вернуть из функции. 

В C++ от безысходности придумали std::array, но правда это что-то типа структуры нужного размера -- вот его можно и вернуть из функции и передать по значению (с копированием). Но опять же там костыли, как и с std::initializer_list (просто попробуйте реализовать свой std::my_array или std::my_initializer_list путём копирования кода из библиотечных хедеров -- и обнаружите, что работать перестало, т.к. в компиляторе есть костыли и подпорки: когда он видит имя типа "std::array" или "std::initializer_list" то делается некоторая магия, а иначе нет...)

[ZX]