Возврат текста в return -
Josipo - 14.01.2018
Во многих советах по оптимизации пишут, что не нужно возвращать текст в return.
А как правильно надо делать? Чем это плохо и почему?
stock GetMessage(type) {
new text[6];
switch(type) {
case 1: text = "text1";
case 2: text = "text2";
}
return text;
}
Пример выше - это плохой код? Покажите альтерантиву
Re: Возврат текста в return -
stabker - 14.01.2018
PHP Code:
stock GetMessage(type, text[], size = sizeof(text)) {
switch(type) {
case 1: strmid(text, "text1", 0, 4, size);
case 2: strmid(text, "text1", 0, 4, size);
}
}
Re: Возврат текста в return -
Mcc - 14.01.2018
Quote:
Originally Posted by stabker
PHP Code:
stock GetMessage(type, text[], size = sizeof(text)) {
switch(type) {
case 1: strmid(text, "text1", 0, 4, size);
case 2: strmid(text, "text1", 0, 4, size);
}
}
|
А в чем здесь прикол strmid?
Re: Возврат текста в return -
ZiGGi - 14.01.2018
А почему лучше это не возвращать:
http://pro-pawn.ru/showthread.php?10730
Основная проблема в том, что здесь нет проверки на размер строки, а это не безопасно.
Ну это ещё стек жрёт, но, как по мне, это не особо важно.
Я думаю, лучше сделать через strcat.
PHP Code:
stock GetMessage(type, text[], size = sizeof(text)) {
text[0] = '\0';
switch (type) {
case 1: strcat(text, "text1", size);
case 2: strcat(text, "text2", size);
}
}
Re: Возврат текста в return -
Mutha_X - 14.01.2018
Quote:
Originally Posted by Josipo
Во многих советах по оптимизации пишут, что не нужно возвращать текст в return.
А как правильно надо делать? Чем это плохо и почему?
stock GetMessage(type) {
new text[6];
switch(type) {
case 1: text = "text1";
case 2: text = "text2";
}
return text;
}
Пример выше - это плохой код? Покажите альтерантиву
|
Осторожно, шутка.
PHP Code:
stock GetMessage(type, text[], size = sizeof(text)) {
text[0] = 0x74786574;
if(size>1)
text[1]='0'+type;
}
Re: Возврат текста в return -
stabker - 14.01.2018
Quote:
Originally Posted by Mcc
А в чем здесь прикол strmid?
|
А что надо было?
Re: Возврат текста в return -
Mcc - 14.01.2018
Quote:
Originally Posted by stabker
А что надо было?
|
text = "text" не?
Re: Возврат текста в return -
stabker - 14.01.2018
Quote:
Originally Posted by Mcc
text = "text" не?
|
Размер массива-то динамический, это невозможно
Re: Возврат текста в return -
Mcc - 15.01.2018
Quote:
Originally Posted by stabker
Размер массива-то динамический, это невозможно
|
Всмысле? Создал массив на 6 ячеек, юзай 6 ячеек (text = "t", text = "text1"), зачем стрмиды/стркаты, не понимаю
Re: Возврат текста в return -
OstGot - 15.01.2018
Quote:
Originally Posted by Mcc
Всмысле? Создал массив на 6 ячеек, юзай 6 ячеек (text = "t", text = "text1"), зачем стрмиды/стркаты, не понимаю
|
Code:
error 046: unknown array size (variable "text")
Re: Возврат текста в return -
TriskeliS - 15.01.2018
Прежде чем что то оптимизировать нужно проводить тесты и выяснить действительно ли этот код вызывает проблемы. Зачем оптимизировать то, что и так прекрасно работает.
Re: Возврат текста в return -
Mcc - 15.01.2018
Quote:
Originally Posted by TriskeliS
Зачем оптимизировать то, что и так прекрасно работает.
|
Чет орнул
Re: Возврат текста в return -
TheMallard - 21.01.2018
PHP код:
new const TeamNames[MAX_TEAMS][MAX_TEAM_NAME]=
{
"Правительство", "LSPD", "SFPD", "LVPD", "Минздрав", "FBI", "Grove", "Ballas"
};