Умный компилятор такую хрень ваще анроллить должен...aissp писал(а):? постфиксная операция подразумевает создание временного объекта типасоотв по умолчанию надо пользоваться префиесной. Сказки про компилятор не катят, с итераторми к примеру компилятор не поменяет постфиксный оператор на префиксный...Код: Выделить всё
T tmp = src; ++src; return tmp;
К чему это?
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
- Marmot
- Графоман
- Сообщения: 39293
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Re: К чему это?
-
- Частый Гость
- Сообщения: 14
- Зарегистрирован: 04 дек 2009, 00:05
- Откуда: North Van
Re: К чему это?
Да нет не упустил - это всего лишь один из примеров. Минимизация размера процедуры толкает к обобщению. Это не так и плохо. Ниже пример функции из 3х строк.Slav писал(а):Ну, ты не только это упустил.igrbt писал(а):Woops случайно упустил два ключевых слова читать надо так:
Как насчет set/get e.g accessors (С++)- сколько там строчек кода - 1!
Cheers
Если разговор идет о, то сеты и геты каким здесь боком?А за войд функции без параметров и содержащие только одну строчку ...
size_t ala_str_len(char* s){
char* p = s;
while(p && *p) p++;
return p-s;
}
get и set тоже не так уж и плохо поскольку они укладываются в ООП и оставляют место для раcширениея.
Но не только accessors однострочные как начет функций верхнего уровня (porting etc):
void f_selector(enum libType lt, enum funcType ft, ...)
{
.....
}
void find_x(int num,int* result)
{
f_selector(libTypeFindPrime,integer,num,result);
}
Надеюсь они тоже однострочные... или как?
- aissp
- Маньяк
- Сообщения: 2710
- Зарегистрирован: 07 ноя 2005, 09:51
Re: К чему это?
ты яву или интерпритатор байсика имеешь ввиду? 

-
- Частый Гость
- Сообщения: 14
- Зарегистрирован: 04 дек 2009, 00:05
- Откуда: North Van
Re: К чему это?
c/c++.
- aissp
- Маньяк
- Сообщения: 2710
- Зарегистрирован: 07 ноя 2005, 09:51
Re: К чему это?
я мармоту отвечал
-
- Маньяк
- Сообщения: 1576
- Зарегистрирован: 04 окт 2009, 15:23
Re: К чему это?
Сначала тут был развернутый ответ с пояснениями. А потом я его почикал, поскольку самым емким объяснением будет следующее: там дело не в дебаге, а таки в ДНК :)aissp писал(а):должно работать однако :)
а так выглядит как дебажный код который не убрали ни фига. Хотя число 100 напрягает слегка :)
- Marmot
- Графоман
- Сообщения: 39293
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Re: К чему это?
Ты хочешь сказать, что c/c++ компайлеры не умеют делать loop unrolling?aissp писал(а):ты яву или интерпритатор байсика имеешь ввиду?


-
- Маньяк
- Сообщения: 4372
- Зарегистрирован: 20 май 2005, 10:08
- Откуда: Burnaby
Re: К чему это?
Однострочные.igrbt писал(а):...Slav писал(а):Ну, ты не только это упустил.igrbt писал(а):Woops случайно упустил два ключевых слова читать надо так:
Как насчет set/get e.g accessors (С++)- сколько там строчек кода - 1!
Cheers
Если разговор идет о, то сеты и геты каким здесь боком?А за войд функции без параметров и содержащие только одну строчку ...
Но не только accessors однострочные как начет функций верхнего уровня (porting etc):
void f_selector(enum libType lt, enum funcType ft, ...)
{
.....
}
void find_x(int num,int* result)
{
f_selector(libTypeFindPrime,integer,num,result);
}
Надеюсь они тоже однострочные... или как?
Однако, что ты пытаешься доказать?
Что кто-то выступает против однострочных функций? - Отнюдь.
Повторяю еще раз. Следи за руками:
Два твоих последних примера - функции без параметров?А за войд функции без параметров и содержащие только одну строчку ...
ПС
Правильный ответ будет: "упс!"
- Marmot
- Графоман
- Сообщения: 39293
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Re: К чему это?
Это запросто может быть интефейсная закладка на будущее...Slav писал(а): Повторяю еще раз. Следи за руками:А за войд функции без параметров и содержащие только одну строчку ...
Типа, пока там только одна строчка, но кто знает, что может случится потом...
- aissp
- Маньяк
- Сообщения: 2710
- Зарегистрирован: 07 ноя 2005, 09:51
Re: К чему это?
а ты хочешь сказать что яФа умеет ето делать? Если i указатель на базовый класс а ++ ето виртальная операция? Если да, то ето не компилятор 

- Marmot
- Графоман
- Сообщения: 39293
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Re: К чему это?
Я говорил именно о том фрагменте, с которого начался раговор, где i это intaissp писал(а):а ты хочешь сказать что яФа умеет ето делать? Если i указатель на базовый класс а ++ ето виртальная операция? Если да, то ето не компилятор
Я правильно понимаю, что даже в таких случаях c/c++ компайлер не делает анроллинг, только потому, что i может быть "указателем на базовый класс" ?
-
- Маньяк
- Сообщения: 4372
- Зарегистрирован: 20 май 2005, 10:08
- Откуда: Burnaby
Re: К чему это?
Когда это все в процессе - то я и сам так всегда делаю. Однако, как гриться, неоконченную работу дуракам не показывают.Marmot писал(а):Это запросто может быть интефейсная закладка на будущее...Slav писал(а): Повторяю еще раз. Следи за руками:А за войд функции без параметров и содержащие только одну строчку ...
Типа, пока там только одна строчка, но кто знает, что может случится потом...
Я полагал, что мы говорим о конечном продукте (коде).
Финальную чистку и дебош (рефакторинг) еще никто не отменял...
- Marmot
- Графоман
- Сообщения: 39293
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Re: К чему это?
Имхо, реальный продукт никогда понастоящему финальным не бывает, процесс разработки должен продолжаться, разные команды работают с разными приоритетами и скоростями. Никакой трагедии в этих однострочниках я не вижу...Slav писал(а):Когда это все в процессе - то я и сам так всегда делаю. Однако, как гриться, неоконченную работу дуракам не показывают.Marmot писал(а):Это запросто может быть интефейсная закладка на будущее...Slav писал(а): Повторяю еще раз. Следи за руками:А за войд функции без параметров и содержащие только одну строчку ...
Типа, пока там только одна строчка, но кто знает, что может случится потом...
Я полагал, что мы говорим о конечном продукте (коде).
Финальную чистку и дебош (рефакторинг) еще никто не отменял...
Тем более, что в данном случае, в финальном продукте - сгенерированном коде, чистку должен сделать умный компилятор.
- aissp
- Маньяк
- Сообщения: 2710
- Зарегистрирован: 07 ноя 2005, 09:51
Re: К чему это?
гхм, если позволишь я отметил немножко (а точнее совсем) другое. Общеищвестно правило, на красный надо стоять на зеленый ехать. Ето правило естсевенно нарушать когда действительно надо ехать. И любой водитель делает ето на автомате. Так вот от абстрактного примера к тому что я написал, поскольку постфиксная форма реализуется через префиксную, программист (нормальный а не тот кто на яве) пишет префиксную форму, вместо постфиксной, также как водитель на автомате давит н атормоз когда зажигается красный.
Понятен ли мой пойнт или нужно дальнейщее разжовывание?
Понятен ли мой пойнт или нужно дальнейщее разжовывание?

- Marmot
- Графоман
- Сообщения: 39293
- Зарегистрирован: 17 фев 2003, 17:58
- Откуда: Caulfeild
- Контактная информация:
Re: К чему это?
Ага, все пойнтЫ понятны, и были понятны сразу, тока я спросил совсем про другоеaissp писал(а):гхм, если позволишь я отметил немножко (а точнее совсем) другое. Общеищвестно правило, на красный надо стоять на зеленый ехать. Ето правило естсевенно нарушать когда действительно надо ехать. И любой водитель делает ето на автомате. Так вот от абстрактного примера к тому что я написал, поскольку постфиксная форма реализуется через префиксную, программист (нормальный а не тот кто на яве) пишет префиксную форму, вместо постфиксной, также как водитель на автомате давит н атормоз когда зажигается красный.
Понятен ли мой пойнт или нужно дальнейщее разжовывание?

А ты мне так и не ответил, и зачем-то решил повторить то, что ты уже сказал

