- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
#define BREAKABLE_SECTION() for(;;)
BREAKABLE_SECTION()
{
::Packet * pPacket;
res = ReadPacket(pPacket);
if(ERR_OK == res)
{
res = pConstructor->PutPacket(pPacket);
if(ERR_OK == res)
{
res = pConstructor->GetFrame(data);
}else
{
//TODO:add handler of statuses other than err_ok
}
if (ERR_OK ==res)
{
break;
}else
{
//TODO:add handler of statuses other than err_ok
}
}else
{
break;
}
break;
}
перешел в новый проект где предложили изучить существующий код в огромном объеме - а он весь из таких циклов
это проклятье флагов
2. писать goto не кошерно, а по другому не умеют - вот и заменили бряками
setjmp(),longjmp()...оно?
А обычно платите?
Ну тогда минимум 3 варианта:
- выбрать другой инструмент;
- _продвинуть_ в следующий стандарт идею введения исключений;
- написать/переписать свой язык.
да, время на внедрение, знаете ли, денег стоит
Предложенные варианты нельзя было использовать, когда писал на си. Просто жалел, что приходится писать кучу непонятного кода, который можно было бы сократить и упростить с помощью исключений.
т. е. изначально архитектура не предполагала наличия некого подобия механизма исключений — тогда да.
замечу тут даже флажок не воткнуть смотрите linux/list.h
разбивать на функции чтоб спрятать goto маразм ну и как ?
да никак городили бы или do {} while или выеросили бы циклы
в функции что только ухудшило бы понимание кода
понабегут теоретики и кричат goto плохо
замечу тут даже флажок не воткнуть смотрите linux/list.h
разбивать на функции чтоб спрятать goto это маразм ну дак как ?
да никак городили бы или do {} while или вынесли бы циклы
в функции что только ухудшило бы понимание кода
понабегут теоретики и кричат goto плохо мудаки вы а не программисты
все те кто против goto
и да
где тут С++, %username%?
пусть уже наконец все убедятся что те кто орут goto плохо всего
лиш теоретики а я вам скажу что они предложат вынести циклы в функции
потому что эти типотенты считают себя мега крутыми когда делают все
только хуже лиш бы спрятать goto у них комлекс с детства какой то
с психикой связанный не с проста они везде стараются спрятать
goto в даже ущерб читаемостивнопрограммистов без goto
пусть уже наконец все убедятся что те кто орут goto плохо всего
лиш теоретики а я вам скажу что они предложат вынести циклы в функции
потому что эти типотенты считают себя мега крутыми когда делают все
только хуже лиш бы спрятать goto у них комлекс с детства какой то
с психикой связанный не с проста они везде стараются спрятать
goto в даже ущерб читаемости
пусть уже наконец все убедятся что те кто орут goto плохо всего
лиш теоретики а я вам скажу что они предложат вынести циклы в функции
потому что эти импотенты считают себя мега крутыми когда делают все
только хуже лиш бы спрятать goto у них комлекс с детства какой то
с психикой связанный не с проста они везде стараются спрятать
goto в даже ущерб читаемости
http://images.encyclopediadramatica.ch/0/0a/Bawwwww_bunny.jpg
C_Krest_Krest_Govno он же openclgovno - залогинься.
http://govnokod.ru/8107#comment112076
писать goto считают не кошерным, а по другому не умеют - вот и заменили бряками.
как я бы написал... не знаю: зависит от обработчика ERR_OK.
в Вашем примере goto вполне уместен.
PS. я не теоретик:)
вы теораст!
int main() {
int i = 0;
nach:
i = i + 1;
if(i <= 10) goto pech;
if(i > 10) goto konets;
konets:
printf("Konets programmi.");
return 0;
pech:
printf("%d v kvadrate = %d\n", i, i * i);
goto nach;
}
лучшее - враг хорошего... в общем, нет понту обсирать единоразовое использование goto в условиях безысходности. Как говорится, один раз - не пидараз... Истинное же мясо, порубленное вместе с будкой и цепью начинается тогда, когда бейсиковый стиль применяестя без разрения совести для написания всего вообще кода. Как пример, см. приведенный выше шматок.
do {
::Packet * pPacket;
res = ReadPacket(pPacket);
BREAK_IF_ERROR(res);
res = pConstructor->PutPacket(pPacket);
BREAK_IF_ERROR(res);
res = pConstructor->GetFrame(data);
BREAK_IF_ERROR(res);
} while(0);
// analyze res here
что случается с pPacket - его же видимо выделяют где нибудь в ReadPacket, куда девается память?
нужны эксепшены, смарт пойнтеры
реинкарнация CPPGovno и пр?
я же какаю бабочками
>Как вы яхту назовёте…
>я же какаю бабочками
>девочка?
>I'm not a robot! I am a unicorn!
>I am not a number! I am a free man!
Читайте продолжение нашумевшего безцельера «Кодеры за работой, блеать!»
Правда, здесь это компенсировали дефайном...
Нечего меня форсить. Я давно ушел. Комунити, к этим людям я не имею ни какого отношения. (:
openclgovno, ты считаешь DirectCompute11 лучше, чем OpenCL?
Только не говори AMD FireStream и NVIDIA CUDA, ибо это не кроссаппаратные технологии другого класса.
Использование GPU, как сопроцессора - это весьма перспективная идея. Ждем стандартизации этого комитетом С++ и реализацию под GCC. ^_^
во-вторых - это копипаст с моего поста, где я не упомянул о macGovno.
во-первых, это намекает нам на твой уровень. (:
во-вторых - это копипаст с твоего поста, ибо мне лень набирать вручную эту стену, но заметь перестановку твоих слов.
Подпись пользователя доставляет (:
вы еще приделами померяйтесь
http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%B4%D0%B5%D0%BB
КРЕСТОПРОБЛЕМЫ
Ты здесь недавно?
>Это твой интеллектуальный придел.
>Ты нигде не добьёшся успеха, в отличии от openclgovno.
>Мне тебя жаль. (:
золотые слова.
Не все преступники = мудаки.
Не все мудаки = преступники.
Не все = не все.
Доказано.
логика софистическая
надмозг?