К чему это?

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
Marmot
Графоман
Сообщения: 39293
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: К чему это?

Сообщение Marmot »

aissp писал(а):? постфиксная операция подразумевает создание временного объекта типа

Код: Выделить всё

   
T tmp = src;
 ++src;
return tmp;
соотв по умолчанию надо пользоваться префиесной. Сказки про компилятор не катят, с итераторми к примеру компилятор не поменяет постфиксный оператор на префиксный...
Умный компилятор такую хрень ваще анроллить должен...
igrbt
Частый Гость
Сообщения: 14
Зарегистрирован: 04 дек 2009, 00:05
Откуда: North Van

Re: К чему это?

Сообщение igrbt »

Slav писал(а):
igrbt писал(а):Woops случайно упустил два ключевых слова читать надо так:
Как насчет set/get e.g accessors (С++)- сколько там строчек кода - 1!

Cheers
Ну, ты не только это упустил.
Если разговор идет о
А за войд функции без параметров и содержащие только одну строчку ...
, то сеты и геты каким здесь боком?
Да нет не упустил - это всего лишь один из примеров. Минимизация размера процедуры толкает к обобщению. Это не так и плохо. Ниже пример функции из 3х строк.
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: К чему это?

Сообщение aissp »

ты яву или интерпритатор байсика имеешь ввиду? 8)
igrbt
Частый Гость
Сообщения: 14
Зарегистрирован: 04 дек 2009, 00:05
Откуда: North Van

Re: К чему это?

Сообщение igrbt »

c/c++.
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Re: К чему это?

Сообщение aissp »

я мармоту отвечал
Rai
Маньяк
Сообщения: 1576
Зарегистрирован: 04 окт 2009, 15:23

Re: К чему это?

Сообщение Rai »

aissp писал(а):должно работать однако :)
а так выглядит как дебажный код который не убрали ни фига. Хотя число 100 напрягает слегка :)
Сначала тут был развернутый ответ с пояснениями. А потом я его почикал, поскольку самым емким объяснением будет следующее: там дело не в дебаге, а таки в ДНК :)
Аватара пользователя
Marmot
Графоман
Сообщения: 39293
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: К чему это?

Сообщение Marmot »

aissp писал(а):ты яву или интерпритатор байсика имеешь ввиду? 8)
Ты хочешь сказать, что c/c++ компайлеры не умеют делать loop unrolling? :what!?: :what!?:
Slav
Маньяк
Сообщения: 4372
Зарегистрирован: 20 май 2005, 10:08
Откуда: Burnaby

Re: К чему это?

Сообщение Slav »

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: К чему это?

Сообщение Marmot »

Slav писал(а): Повторяю еще раз. Следи за руками:
А за войд функции без параметров и содержащие только одну строчку ...
Это запросто может быть интефейсная закладка на будущее...
Типа, пока там только одна строчка, но кто знает, что может случится потом...
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Re: К чему это?

Сообщение aissp »

а ты хочешь сказать что яФа умеет ето делать? Если i указатель на базовый класс а ++ ето виртальная операция? Если да, то ето не компилятор :)
Аватара пользователя
Marmot
Графоман
Сообщения: 39293
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: К чему это?

Сообщение Marmot »

aissp писал(а):а ты хочешь сказать что яФа умеет ето делать? Если i указатель на базовый класс а ++ ето виртальная операция? Если да, то ето не компилятор :)
Я говорил именно о том фрагменте, с которого начался раговор, где i это int
Я правильно понимаю, что даже в таких случаях c/c++ компайлер не делает анроллинг, только потому, что i может быть "указателем на базовый класс" ?
Slav
Маньяк
Сообщения: 4372
Зарегистрирован: 20 май 2005, 10:08
Откуда: Burnaby

Re: К чему это?

Сообщение Slav »

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

Re: К чему это?

Сообщение Marmot »

Slav писал(а):
Marmot писал(а):
Slav писал(а): Повторяю еще раз. Следи за руками:
А за войд функции без параметров и содержащие только одну строчку ...
Это запросто может быть интефейсная закладка на будущее...
Типа, пока там только одна строчка, но кто знает, что может случится потом...
Когда это все в процессе - то я и сам так всегда делаю. Однако, как гриться, неоконченную работу дуракам не показывают.
Я полагал, что мы говорим о конечном продукте (коде).
Финальную чистку и дебош (рефакторинг) еще никто не отменял...
Имхо, реальный продукт никогда понастоящему финальным не бывает, процесс разработки должен продолжаться, разные команды работают с разными приоритетами и скоростями. Никакой трагедии в этих однострочниках я не вижу...
Тем более, что в данном случае, в финальном продукте - сгенерированном коде, чистку должен сделать умный компилятор.
Аватара пользователя
aissp
Маньяк
Сообщения: 2710
Зарегистрирован: 07 ноя 2005, 09:51

Re: К чему это?

Сообщение aissp »

гхм, если позволишь я отметил немножко (а точнее совсем) другое. Общеищвестно правило, на красный надо стоять на зеленый ехать. Ето правило естсевенно нарушать когда действительно надо ехать. И любой водитель делает ето на автомате. Так вот от абстрактного примера к тому что я написал, поскольку постфиксная форма реализуется через префиксную, программист (нормальный а не тот кто на яве) пишет префиксную форму, вместо постфиксной, также как водитель на автомате давит н атормоз когда зажигается красный.

Понятен ли мой пойнт или нужно дальнейщее разжовывание? 8)
Аватара пользователя
Marmot
Графоман
Сообщения: 39293
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Re: К чему это?

Сообщение Marmot »

aissp писал(а):гхм, если позволишь я отметил немножко (а точнее совсем) другое. Общеищвестно правило, на красный надо стоять на зеленый ехать. Ето правило естсевенно нарушать когда действительно надо ехать. И любой водитель делает ето на автомате. Так вот от абстрактного примера к тому что я написал, поскольку постфиксная форма реализуется через префиксную, программист (нормальный а не тот кто на яве) пишет префиксную форму, вместо постфиксной, также как водитель на автомате давит н атормоз когда зажигается красный.

Понятен ли мой пойнт или нужно дальнейщее разжовывание? 8)
Ага, все пойнтЫ понятны, и были понятны сразу, тока я спросил совсем про другое :)
А ты мне так и не ответил, и зачем-то решил повторить то, что ты уже сказал :) и я не могу понять зачем :)
Ответить