PDA

Просмотр полной версии : [Вопрос] Объясните пожалуйста



stimorol
04.09.2015, 19:00
Здравствуйте.

Нашёл в моде вот такой stock:



stock GPNS(playerid)
{
new giveplayernames[MAX_PLAYER_NAME];
GetPlayerName(playerid, giveplayernames, sizeof(giveplayernames));
return giveplayernames;
}


Вроде бы всё понятно (получение имени игрока), но что выполняет return? Почему именно return giveplayernames, а не return true?

Avertus
04.09.2015, 19:30
Имена тем как то более информативней делать надо.

Блин, но тут всё элементарно, плохая функция которая возвращает строку(в которой записано имя игрока), хоть и не большую, но она записывается в стоковую память. Ради только удобства не стоит этого делать. Так же судя по вашим вопросам вы не в полной мере понимаете работу return, почитайте тут: ТЫК (http://pro-pawn.ru/showthread.php?6662-Оператор-возврата-%28return%29).

Seregamil
05.09.2015, 20:03
Имена тем как то более информативней делать надо.

Блин, но тут всё элементарно, плохая функция которая возвращает строку(в которой записано имя игрока), хоть и не большую, но она записывается в стоковую память. Ради только удобства не стоит этого делать. Так же судя по вашим вопросам вы не в полной мере понимаете работу return, почитайте тут: ТЫК (http://pro-pawn.ru/showthread.php?6662-Оператор-возврата-%28return%29).
И что же плохого в этой функции, сударь?

Daniel_Cortez
05.09.2015, 21:54
И что же плохого в этой функции, сударь?
1. Понты. Можно сразу использовать GetPlayerName.
2. Легче добиться переполнения стека: место тратится как на локальный массив в функции GPNS, так и на тот массив, который будет принимать возвращаемую строку.