perfect_genius
@perfect_genius
Неостановимый генератор идей по улучшению мира

Почему у функций нет имени возвращаемого?

У функций можно увидеть имена параметров в IDE при наведении на них курсора, но почему-то нет для имён возвращаемого, отчего приходится узнавать про это из документации.
Например, недавно случайно узнал, что printf() возвращает количество напечатанного.

В коде имя можно было бы разместить рядом с именами параметров или же около return:
int [код_ошибки] сделать(UINT начало, UINT конец)
или
return [код_ошибки] НЕДОСТАТОЧНО_ПАМЯТИ
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 3
AshBlade
@AshBlade
Просто хочу быть счастливым
Откуда я должен узнать что возвращает printf()?


man 3 printf
Ответ написан
@alexalexes
В return возвращается один параметр, как он называется внутри функции - для внешнего мира без разницы. Если нужно больше значений вернуть, чем одно, то этот параметр превращается в массив (структуру, объект - любой не скалярный тип), или используют доступ по ссылке для входных параметров, чтобы их изменение не зависело от контекста функции (любые изменения сохранялись после завершения функции).
Ответ написан
Вообще вопрос с точки зрения language design интересный.
Предположу, что тут скорее по принципу "явной необходимости в этом нет, вот и не сделали", ибо функция всегда только одно значение вернуть может и знать его имя для обращения к нему не нужно, в отличие от аргументов.

Для IDE есть разные способы метаданные указать в комментариях или атрибутах - это уже смотри на конкретный язык.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы