типичный комент тупицы, не осилившего даже заглянуть по ссылке нормально
struct a{typedef int foo;};struct a1:a{};struct a2:a{}; #define X(b,a) struct a##1:b##1,b##2{};struct a##2:b##1,b##2{}; X(a,b)X(b,c)X(c,d)X(d,e)X(e,f)X(f,g)X(g,h)X(h,i)X(i,j)X(j,k)X(k,l) X(l,m)X(m,n) n1::foo main(){} In each iteration, the compiler must check whether the types of foo on both sides of the multiple inheritance match. g++ used to eat a gig of RAM and a couple CPU hours. icc still does.
потому что ниасилятора 1. он не осилил RAII ("• Can’t throw exceptions in destructors, shouldn’t in constructors" — ололол) 2. он не осилил smart pointers (std::auto_ptr) ("auto_ptr is useless" — олололо) 3. пачка проблем вызывана либо нубовостью кодера (delete vs delete[]), либо долбоебизмом кодера интерфейсов (operator→ — это библиотечный интерфейс и если автор библиотеки мудак, то его нужно пинать) 4. C++ is hard to parse struct a{typedef int foo;};struct a1:a{};struct a2:a{}; #define X(b,a) struct a##1:b##1,b##2{};struct a##2:b##1,b##2{}; X(a,b)X(b,c)X(c,d)X(d,e)X(e,f)X(f,g)X(g,h)X(h,i)X(i,j)X(j,k)X(k,l) X(l,m)X(m,n) n1::foo main(){}
ебанись, причем тут С++? алсо, как будто на петушоне нельзя писать однострочники длиной в килобайт? 5. "For a vector, at() does bounds checking, but operator[] doesn’t" — без комментариев, автор — ниасилятор как он есть 6. "Can’t call virtual member functions from constructor or destructor" — это не совсем правда. в конструкторах/деструкторах нельзя пользовать поздним связыванием, но можно вызывать функции напрямую
ну а дальше меня просто заебало разбивать лицо фейспалмами
на год публикации посмотри, долбоебушка (я специально в теге подсказал даже) — ослу понятно, что штуки вроде «> >» vs «>>» в тех же темплайтах уже частично пофикшены. ЧАСТИЧНО. Иное говно в синтаксисе уже никак невозможно пофиксить.
лучше бы ты поревьювил 8 страниц слайдов с попытками догадаться, что делает одна простая строчка кода — и пришёл бы к заключению, что это, наверное, непрактичные выдумки, специально скрафчено для дискредитации плюсов, такого в жизни не бывает и это вообще фейк
хуита. если ты пользуешься переменными, то должен знать, что они и как делают => ответ очевиден или тебе напомнить про операторы и аттрибуты в петушоне?
> 1. он не осилил RAII ("• Can’t throw exceptions in destructors, shouldn’t in constructors" — ололол)
он нигде не говорит, что не осилил RAII. Просто, поправь меня если я неправ, но RAII не отменяет работы с этими прекрасными особенностями языка. Яркий пример (который для меня является более показательным, чем вся эта ПДФка, т.к. касается C++11) — http://habrahabr.ru/post/157315/ .
отменяет. выброс исключения из конструктора, если выполнен RAII, просто корректен и является одним из вариантов возврата ошибки. выброс исключения из деструктора богопротивен, потому что совершенно не понятно, как его обрабатывать в случае, когда у нас обрабатывается другое исключение. таким образом, корректная фраза "shouldn't throw exceptions out of destructors, should use RAII and then may throw out of constructor"
ну как это отменяет? Вот по моей ссылке, человеку надо было и файл открыть, и put_time_stamp(); сделать. По RAII правильно будет отдельный класс делать (в примере через внутри-классовый struct с вынесенным туда деструктором сделано)? Или как?
блять, ну уже столько раз обсасывали ведь, ну.
а ты не обсасывай (а то привыкнешь), а занимательные примеры смотри
лично для себя я там нашёл свежачок
лол
охуеть занимательно в очередной раз смотреть на говнокод плюсов. Ладно если бы я ими занимался хоть немного.
но ведь DNF можно запустить на хурде через вайн, не?
алсо по ссылке хуита ниасилятора
почему неосилятора? Наоборот.
типичный комент тупицы, не осилившего даже заглянуть по ссылке нормально
struct a{typedef int foo;};struct a1:a{};struct a2:a{};
#define X(b,a) struct a##1:b##1,b##2{};struct a##2:b##1,b##2{};
X(a,b)X(b,c)X(c,d)X(d,e)X(e,f)X(f,g)X(g,h)X(h,i)X(i,j)X(j,k)X(k,l)
X(l,m)X(m,n) n1::foo main(){}
In each iteration, the compiler must check whether the types of foo on
both sides of the multiple inheritance match.
g++ used to eat a gig of RAM and a couple CPU hours. icc still does.
потому что ниасилятора
1. он не осилил RAII ("• Can’t throw exceptions in destructors, shouldn’t in constructors" — ололол)
2. он не осилил smart pointers (std::auto_ptr) ("auto_ptr is useless" — олололо)
3. пачка проблем вызывана либо нубовостью кодера (delete vs delete[]), либо долбоебизмом кодера интерфейсов (operator→ — это библиотечный интерфейс и если автор библиотеки мудак, то его нужно пинать)
4. C++ is hard to parse
struct a{typedef int foo;};struct a1:a{};struct a2:a{};
#define X(b,a) struct a##1:b##1,b##2{};struct a##2:b##1,b##2{};
X(a,b)X(b,c)X(c,d)X(d,e)X(e,f)X(f,g)X(g,h)X(h,i)X(i,j)X(j,k)X(k,l)
X(l,m)X(m,n) n1::foo main(){}
ебанись, причем тут С++? алсо, как будто на петушоне нельзя писать однострочники длиной в килобайт?
5. "For a vector, at() does bounds checking, but operator[] doesn’t" — без комментариев, автор — ниасилятор как он есть
6. "Can’t call virtual member functions from constructor or destructor" — это не совсем правда. в конструкторах/деструкторах нельзя пользовать поздним связыванием, но можно вызывать функции напрямую
ну а дальше меня просто заебало разбивать лицо фейспалмами
ты тупой
аргументы уровня улидткедфуда
на год публикации посмотри, долбоебушка (я специально в теге подсказал даже) — ослу понятно, что штуки вроде «> >» vs «>>» в тех же темплайтах уже частично пофикшены. ЧАСТИЧНО. Иное говно в синтаксисе уже никак невозможно пофиксить.
специально для такого мудака как ты: это не было проблемой и в 2007году
короче, я нассал тебе в ротешник, тупица
велветпирд, перелогиньтесь, вы тупой
Лал.
Типичный улидтко.
andrej@loki:~$ cat a.cpp
struct a{typedef int foo;};struct a1:a{};struct a2:a{};
#define X(b,a) struct a##1:b##1,b##2{};struct a##2:b##1,b##2{};
X(a,b)X(b,c)X(c,d)X(d,e)X(e,f)X(f,g)X(g,h)X(h,i)X(i,j)X(j,k)X(k,l)
X(l,m)X(m,n) n1::foo main(){}
andrej@loki:~$ time g++ a.cpp
real 1m9.248s
user 1m9.052s
sys 0m0.040s
andrej@loki:~$
HOLY SHIT!!! HOURS OF CPU!!!!
> g++ used to
> icc still does
> used to
> used to
какой же ты тупой всё-таки
Вы оба тупые, нодискасс.
пиздец, давай еще вспомним как в петушоне 1.5.2 обрабатывались строки
ты тупее нас обоих вместе взятых (хотя вроде фиксишься уже)
аргументация уровня дворового пса
Лизнул.
лучше бы ты поревьювил 8 страниц слайдов с попытками догадаться, что делает одна простая строчка кода — и пришёл бы к заключению, что это, наверное, непрактичные выдумки, специально скрафчено для дискредитации плюсов, такого в жизни не бывает и это вообще фейк
Нассал тебе в макросы.
ты прав
огнетушитель.jpg
хотя нет, я все-таки ошибся
[:
хуита. если ты пользуешься переменными, то должен знать, что они и как делают => ответ очевиден
или тебе напомнить про операторы и аттрибуты в петушоне?
свежак
Не очень понимаю твоей логики.
> 1. он не осилил RAII ("• Can’t throw exceptions in destructors, shouldn’t in constructors" — ололол)
он нигде не говорит, что не осилил RAII. Просто, поправь меня если я неправ, но RAII не отменяет работы с этими прекрасными особенностями языка. Яркий пример (который для меня является более показательным, чем вся эта ПДФка, т.к. касается C++11) — http://habrahabr.ru/post/157315/ .
отменяет.
выброс исключения из конструктора, если выполнен RAII, просто корректен и является одним из вариантов возврата ошибки.
выброс исключения из деструктора богопротивен, потому что совершенно не понятно, как его обрабатывать в случае, когда у нас обрабатывается другое исключение.
таким образом, корректная фраза "shouldn't throw exceptions out of destructors, should use RAII and then may throw out of constructor"
кстати говоря, на малине (armv6. gcc 4.5.4, gentoo) оно компилится за 29 минут, что значительно ближе к ЧАСАМ КОМПИЛЯЦИИ
ну как это отменяет? Вот по моей ссылке, человеку надо было и файл открыть, и put_time_stamp(); сделать. По RAII правильно будет отдельный класс делать (в примере через внутри-классовый struct с вынесенным туда деструктором сделано)? Или как?
> 5+ лет
> закон Мура
да потуши ты уже пердак свой, заебал
не отменяет.
>малина
>5+ лет
улидтко как всегда тупой
чо ещё за малина // у тестирующего тоже наверняка было устаревшее на n лет барахло (ты тупой блджад что ли), разрыва в 5 лет это не отменяет
raspberry pi // ты мудак всё равно
пруф или не 5 лет, может быть ты просто был слишком жирный и прошло меньше времени
да мне похуй лол, он уже слился все равно
и что, ты тоже сливался, это не мешает мне теперь считать тебя тупым
не мешает, ты прав
главное — громче всего заорать "слился" // ебать ты тупой защеканец
спасяб)) Давай каваицца ^__^ (((=
ты слился, прости
не шаришь
не шарю настолько, чтобы считать тебя шарящим
не псти бессмысленные наборы буков
а то что? Обоссышь меня?
зачем мне тратить на тебя бесценные запасы мочи? я их лучше на пельветпирда потрачу