Почему не стоит возвращать строки в вызываемых функциях?
В процессе написания мода я решил пойти на такую крайность: вернуть значение строки в stock. На этом форуме есть тема оптимизации. Там пишут, что этого делать не стоит и это грозит переполнением стека. Я хотел бы увидеть программный код, который способен вызвать это переполнение возвратом стринга в стоке.
В теме приводится пример с получением ника игрока. Я сделал такое:
Код:
CMD:go(playerid, params[])
{
for (new i; i<=1000;i++)
print(PlayerName(playerid));
print("completed");
}
stock PlayerName(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid,pname,sizeof(pname));
return pname;
}
И ничего особенного не заметил. Все отработало корректно. Так как же вызвать переполнение стека возвратом стринга?