HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Технические вопросы (https://hlfx.ru/forum/forumdisplay.php?forumid=20)
-- Знаете ли вы С++? (https://hlfx.ru/forum/showthread.php?threadid=452)
Отправлено XaeroX 26-11-2006 в 06:45:
Знаете ли вы С++?
Небольшой тест на знание тонкостей С++. Если будет время, продолжу. Дерзайте, господа! 
__________________
Отправлено DEAD MAN 26-11-2006 в 08:17:
XaeroX Дело было вечером, делать было нечего?
И вообще 3 правильных ответа на угад - это есть гуд.

Отправлено XaeroX 26-11-2006 в 08:23:
DEAD MAN вообще-то убил три дня на прикручивание этой фичи к форуму 
__________________
Отправлено Дядя Миша 26-11-2006 в 08:45:
В тесте есть спорные моменты.
Отправлено DEAD MAN 26-11-2006 в 09:19:
XaeroX Ну тогда ладно - молодец, постарался на славу.
Дядя Миша
Спорные моменты это те вопросы на которые ты не смог ответить?
Отправлено Government-Man 26-11-2006 в 09:34:
Ни разу не видел, чтобы кто-то засовывал функции в объединения или наследовал структуры... 
Однако, оказывается, и так можно. 
Отправлено Дядя Миша 26-11-2006 в 09:35:
DEAD MAN
Спорный момент - это первый вопрос про unsigned i, auto является необязательным и на современных машинах просто бессмысленным.
цикл вида while (1==1) { ... }
навевает об умственной отсталости того, кто так пишет, хотя с точки зрения компилятора он все же правилен
Ну и union замута - в Си и С++ это две большие разницы.
Отправлено XaeroX 26-11-2006 в 09:41:
пишу скрытым, а то подсказка в некотором роде.
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
__________________
Отправлено Government-Man 26-11-2006 в 10:00:
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
Отправлено XaeroX 26-11-2006 в 10:15:
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
Добавлено сегодня в 16:15:
господа, вопросы касаемо теста - под кат. То есть под тег [ hide ] [ /hide ] 
__________________
Отправлено BUzer 26-11-2006 в 11:14:
Вах, десять баллоф 
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
Отправлено XaeroX 26-11-2006 в 11:18:
2BUzer
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
__________________
Отправлено Format.com 26-11-2006 в 11:47:
7 баллов. Not bad for me I think. =)
Отправлено Дядя Миша 26-11-2006 в 12:28:
XaeroX я никогда не писал там auto и писать не собираюсь и это будет правильно.
Мы не под дос пишем.
Ты еще добавь вопрос как FAR указатели правильно юзать.
>>И что? Где тут спорный момент? Допустима конструкция? Да.
тебе один хрен непонять.
Отправлено XaeroX 26-11-2006 в 12:53:
Цитата:
Дядя Миша писал:
тебе один хрен непонять.
Отчего же... я прекрасно понимаю тебя - как-никак, 3 балла 
__________________
Отправлено ForestGirl 26-11-2006 в 14:19:
Дядя Миша Миш, чтобы тебе не обидно было - у меня один балл. 
Отправлено BUzer 26-11-2006 в 14:20:
Дядя Миша
Ты чего такой злой? 
Ну есть развлечение такое, ковыряться во всяких особенностях и тонкостях си++, благо их там немеряно - на практике они мало кого волнуют, но зато при желании можно поипать себе мозги.. 
Отправлено G-manoid 26-11-2006 в 14:22:
А я два первых вопроса прочитал, а потом все верхние флажки понатыкал. И мне говорят, что я набрал 2 бала.
__________________
I choose the truth I like...
Отправлено Дядя Миша 26-11-2006 в 18:47:
Да потому что тест неправильный.
Ксерокс когда его создавал со мной не советовался.
Ну да ничего, учту к след. тесту.
Отправлено zimer 27-11-2006 в 07:18:
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
Добавлено сегодня в 13:16:
да, и в вопросе про юнионы промахнулся)))
Добавлено сегодня в 13:18:
ты бы сюда с брэйнбенча тестов бы накидал)))__________________
Рассыпалась соль - к ссоре.
Рассыпался сахар - к миру.
Рассыпался кокаин - к феерическим ощущениям и фантасмагорическим видениям.
Ласточки низко летают - будет дождь.
Коровы низко летают - рассыпался кокаин.
Отправлено XaeroX 27-11-2006 в 07:24:
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
__________________
Отправлено Alerman 28-11-2006 в 03:46:
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
__________________
Я за Ленина, за мир и за СССР, НО я против сталина, против тех кто "наводит мир" силой, и против Кремля!
Отправлено pRoxxx 18-01-2012 в 13:26:
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
Отправлено Nucleo 18-01-2012 в 15:14:
Вахх, 4 балла 
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
Отправлено XaeroX 18-01-2012 в 15:23:
Тест был написан давно, поэтому хочу уточнить - подразумевается старая трактовка ключевого слова auto (это к первому вопросу).
__________________
Отправлено KiQ 18-01-2012 в 16:00:
3 балла. Впрочем, я и не претендую
хотите, я по J2ME запилю?
__________________
-Brain is dead-
Отправлено XaeroX 18-01-2012 в 16:15:
KiQ
Запиливай 
__________________
Отправлено pRoxxx 18-01-2012 в 19:26:
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
Отправлено XaeroX 18-01-2012 в 21:10:
pRoxxx
А ты, догадливый 
__________________
Отправлено marikcool 18-01-2012 в 21:12:
1 бал) тонкостей с++ незнаю, тест точен)
Отправлено Scream 19-01-2012 в 09:41:
Урраааа!!! 1 БАЛЛ!!!
Всё-таки одно угадал
Всё, я знаток С! Гордости и воспалённого ЧСВ на целый день
Отправлено Mapper 30-04-2012 в 11:20:
почитаю-ка я скрытые коменты
Отправлено nemyax 05-09-2016 в 07:58:
Шость. Подсказки, появитесь.
Отправлено mittorn 06-09-2016 в 15:03:
Как знание дефайнов windows относится к знанию c++?
Ну и в первом вопросе правильного ответа похоже нет (ни один из них не будет гарантированно 4байтным).
Отправлено XaeroX 06-09-2016 в 16:34:
Цитата:
mittorn писал:
Как знание дефайнов windows относится к знанию c++?
Не дефайнов, а понятия интерфейса.
Впрочем, там кривой вопрос, вместо дефайна - typedef, который тут неуместен.
Цитата:
mittorn писал:
Ну и в первом вопросе правильного ответа похоже нет
В 2006 году я не подозревал о существовании 64-битных платформ.__________________
Отправлено ComradeAndrew 01-04-2018 в 18:38:
Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.
Отправлено XaeroX 01-04-2018 в 19:08:
ComradeAndrew тест по стандарту 98 года, где auto имело другое значение, нежели теперь. 
__________________
Отправлено Дядя Миша 02-04-2018 в 18:23:
Цитата:
XaeroX писал:
тест по стандарту 98 года, где auto имело другое значение
А вы в курсе что модификатор auto Си унаследовал из Би?__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено ~ X ~ 03-04-2018 в 14:30:
На сабж треда можно отвечать "нет". Забудьте всё что вы знали о C++
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Отправлено ComradeAndrew 03-04-2018 в 15:15:
~ X ~
Отлично. Новость от первого апреля 
Отправлено Дядя Миша 03-04-2018 в 18:37:
Все ухищрения по маскировке и подмене указателей чем-то умным преследуют цель освободить человека от непосредственной работы с памятью, причём работа с памятью учитывая все слои абстракции и механизм виртуальной памяти вообще в принципе не является чем-то сложным. Это вы под досом, случайно промахнувшись могли покоцать затенённую копию BIOS или драйвер какой-нибудь, под виндой подобное невозможно. Так вот людей пытаются огородить от простейшей задачи и при этом еще и рассчитывают, что они справятся с более сложными?
Причём еще и модель памяти - линейная, плоская, ну куда уже проще-то.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 04-04-2018 в 03:55:
Цитата:
Дядя Миша писал:
что они справятся с более сложными
Это например какими?
Добавлено 04-04-2018 в 10:55:
Цитата:
ComradeAndrew писал:
Новость от первого апреля
Кстати, моя любимая в этом году. 
Жаль, что они там EDIT сделали. Как будто без него непонятно. С++ без указателей - это как водка без этилового спирта. 
__________________
Отправлено ComradeAndrew 04-04-2018 в 11:34:
Цитата:
XaeroX писал:
EDIT сделали
Цитата:
In fact, if you look closely, you will discover a circular reference traversing all those April articles
no-new-new
cpp-will-no-longer-have-pointers
no-pointers
raw-pointers-are-gone
deprecating-pointers
Внимательный читатель мог бы и так заметить подвох
Отправлено ~ X ~ 04-04-2018 в 11:39:
Цитата:
XaeroX писал:
Жаль, что они там EDIT сделали.
Да, не могли хоть неделю подождать *facepalm*__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Отправлено Дядя Миша 04-04-2018 в 18:03:
Цитата:
XaeroX писал:
Это например какими?
Ну например с сортировкой по красно-чёрному дереву__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено ComradeAndrew 04-04-2018 в 18:08:
Дядя Миша
Как вообще связано использование абстракций и невозможность реализации определенных алгоритмов?
Выглядит как сравнение умений рисовать чертежи от руки и в программных пакетах, для этого заточенных. То есть никакой связи. 
Отправлено XaeroX 04-04-2018 в 18:14:
Цитата:
Дядя Миша писал:
Ну например с сортировкой по красно-чёрному дереву
Это элементарная задача. Берём std::map... Всё.__________________
Отправлено Дядя Миша 04-04-2018 в 19:34:
Цитата:
ComradeAndrew писал:
Как вообще связано использование абстракций и невозможность реализации определенных алгоритмов?
в данном случае речь не за абстракцию, а за арихметику указателей. Уж если человек не может выучить 4 правила арифметики, куды ему более сложные задачи?
Цитата:
XaeroX писал:
Берём std::map... Всё.
А вместо указателей берём auto_ptr? Меня вот мысль посетила, а что если разработчики STL будут писать все программы за всех программистов мира? Раз они такие умныя.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено ComradeAndrew 04-04-2018 в 20:58:
Дядя Миша
Так может на ассемблере надо писать сразу? Чего уж там.
Отправлено Дядя Миша 04-04-2018 в 21:09:
ComradeAndrew ты сам-то пишеш? А другим советуеш
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 05-04-2018 в 03:20:
Цитата:
Дядя Миша писал:
Уж если человек не может выучить 4 правила арифметики, куды ему более сложные задачи?
Дело не в правилах арифметики, а в банальной человеческой забывчивости и невнимательности. Использование сырых указателей имеет свои плюсы, но может легко привести к вылетам. А это баги, которые надо чинить, тратя на это ресурсы (время и деньги). Умные указатели позволяют эти ресурсы сэкономить ценой небольшого снижения производительности, в большинстве случаев приемлемого. Хотя нам, движкописателям, этого не понять - у нас почти весь код performance-critical. 
Цитата:
Дядя Миша писал:
А вместо указателей берём auto_ptr?
В старом стандарте, С++98 - да. В новом он deprecated, т.к. есть более качественная и эффективная реализация с учётом move-семантики - unique_ptr.
Цитата:
Дядя Миша писал:
а что если разработчики STL будут писать все программы за всех программистов мира?
Так они и так уже почти все кирпичики написали, осталось их сложить в нужном порядке и заточить под твои входные данные.
А если они чего-то не написали - есть boost, в котором как в Греции, ну ты понял.__________________
Отправлено Дядя Миша 05-04-2018 в 06:30:
Вот этот подход в конечном итоге приводит ктому, что скайп потребляет полгигабайта памяти, а про браузер я воще молчу.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 05-04-2018 в 06:45:
Дядя Миша
Конкретно этот подход ни к чему подобному не приводит.
Он приводит к удешевлению и ускорению разработки, что куда более актуально, чем оптимизация потребления памяти с 500 Мб до 498 Мб.
Сколько времени у тебя займёт написать собственную реализацию КЧ-дерева, при условии что копипастить CUtlRbTree из Сорса - нельзя?
Час? И ещё час на отладку и базовые тесты? И она будет быстрее STL-ной, ты это можешь заранее гарантировать?
__________________
Отправлено Дядя Миша 05-04-2018 в 14:36:
Цитата:
XaeroX писал:
Он приводит к удешевлению и ускорению разработки, что куда более актуально
К ускорению разработки в первую очередь приводит знакомая среда, а не чьи-то непонятные инструменты.
Цитата:
XaeroX писал:
чем оптимизация потребления памяти с 500 Мб до 498 Мб.
Правильно понимаю, это ты переписал скайп и сэкономил всего 2 мегабайта?
Цитата:
XaeroX писал:
при условии что копипастить CUtlRbTree из Сорса - нельзя?
вот и задумайся отчего в сорсе STL не юзали. А вопрос можно брать или нельзя зависит от условий поставленной задачи. Где-то и самому писать нельзя, только STL.
Цитата:
XaeroX писал:
И она будет быстрее STL-ной, ты это можешь заранее гарантировать?
Я в канпиляторах вот кокрастоке выкинул STL и получил прирост в 12% примерно, по скорости. Так что да, могу.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 05-04-2018 в 14:54:
Цитата:
Дядя Миша писал:
Правильно понимаю, это ты переписал скайп и сэкономил всего 2 мегабайта?
Нет, я предположил, что из 500 Мб оверхед умных указателей где-то 2 Мб будет. У тебя есть какие-то конкретные данные по этому вопросу?
Цитата:
Дядя Миша писал:
вот и задумайся отчего в сорсе STL не юзали.
Зачем задумываться, я знаю, отчего в сорсе STL не юзали. В те годы STL был весьма сырым. Но с момента начала разработки сорса почти 20 лет прошло, и многие "детские" болезни STL излечены. Во многом - благодаря улучшению языка в стандарте С++11.
Цитата:
Дядя Миша писал:
Я в канпиляторах вот кокрастоке выкинул STL и получил прирост в 12% примерно, по скорости.
А где гарантия, что компиляторы писали грамотные люди, которые правильно использовали STL? Если плохо знаешь язык, можно и с арифметикой сырых указателей так затормозить программу, что мало не покажется.
Цитата:
Дядя Миша писал:
Так что да, могу.
Ты хотя бы CUtlRbTree относительно std::map профилировал?__________________
Отправлено Дядя Миша 05-04-2018 в 21:38:
Цитата:
XaeroX писал:
Нет, я предположил, что из 500 Мб оверхед умных указателей где-то 2 Мб будет
Я про использование STL и Boost в целом.
Цитата:
XaeroX писал:
В те годы STL был весьма сырым. Но с момента начала разработки сорса почти 20 лет прошло, и многие "детские" болезни STL излечены.
Да-да, теперь вся студия превратилась в такое же говно, как и STL 
Цитата:
XaeroX писал:
Если плохо знаешь язык, можно и с арифметикой сырых указателей так затормозить программу, что мало не покажется.
Нунапример?
Цитата:
XaeroX писал:
Ты хотя бы CUtlRbTree относительно std::map профилировал?
Не возникало такой задачи, т.к. я не юзаю STL.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Отправлено XaeroX 06-04-2018 в 03:28:
Цитата:
Дядя Миша писал:
Да-да, теперь вся студия превратилась в такое же говно, как и STL
Ты Пастернака не читал, но осуждаешь?
Цитата:
Дядя Миша писал:
Нунапример?
Погугли примеры cache-unfriendly кода.
Цитата:
Дядя Миша писал:
Не возникало такой задачи, т.к. я не юзаю STL.
Ах да, опять Пастернак.__________________
Отправлено Дядя Миша 06-04-2018 в 16:31:
Цитата:
XaeroX писал:
Ты Пастернака не читал, но осуждаешь?
Так может я бы наоборот, если бы прочитал, то и переменил бы мнение. Но всё что вижу меня в этом намерении не поддерживает.__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
Цитата:
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'