HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Знаете ли вы С++?
(часть 1)
Знаете ли вы С++?
Вам не разрешено проходить этот тест.



Лучшие результаты
  BUzer 10  
  garrick 9  
  AlphaPedoWolf 9  
  zimer 8  
  mittorn 8  
[показать все результаты]
Этот тест прошли 61 пользователей

Страницы (4): « 1 2 3 [4]   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ComradeAndrew
Житель форума

Дата регистрации: Aug 2014
Проживает: Дубай
Сообщений: 510
Возраст: 27

Рейтинг



Дядя Миша
Как вообще связано использование абстракций и невозможность реализации определенных алгоритмов?
Выглядит как сравнение умений рисовать чертежи от руки и в программных пакетах, для этого заточенных. То есть никакой связи.

Сообщить модератору | | IP: Записан
Сообщение: 172093

Старое сообщение 04-04-2018 18:08
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Ну например с сортировкой по красно-чёрному дереву

Это элементарная задача. Берём std::map... Всё.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 172094

Старое сообщение 04-04-2018 18:14
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
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'

Сообщить модератору | | IP: Записан
Сообщение: 172095

Старое сообщение 04-04-2018 19:34
-
ComradeAndrew
Житель форума

Дата регистрации: Aug 2014
Проживает: Дубай
Сообщений: 510
Возраст: 27

Рейтинг



Дядя Миша
Так может на ассемблере надо писать сразу? Чего уж там.

Сообщить модератору | | IP: Записан
Сообщение: 172096

Старое сообщение 04-04-2018 20:58
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



ComradeAndrew ты сам-то пишеш? А другим советуеш

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 172097

Старое сообщение 04-04-2018 21:09
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Уж если человек не может выучить 4 правила арифметики, куды ему более сложные задачи?

Дело не в правилах арифметики, а в банальной человеческой забывчивости и невнимательности. Использование сырых указателей имеет свои плюсы, но может легко привести к вылетам. А это баги, которые надо чинить, тратя на это ресурсы (время и деньги). Умные указатели позволяют эти ресурсы сэкономить ценой небольшого снижения производительности, в большинстве случаев приемлемого. Хотя нам, движкописателям, этого не понять - у нас почти весь код performance-critical.
Цитата:
Дядя Миша писал:
А вместо указателей берём auto_ptr?

В старом стандарте, С++98 - да. В новом он deprecated, т.к. есть более качественная и эффективная реализация с учётом move-семантики - unique_ptr.
Цитата:
Дядя Миша писал:
а что если разработчики STL будут писать все программы за всех программистов мира?

Так они и так уже почти все кирпичики написали, осталось их сложить в нужном порядке и заточить под твои входные данные. А если они чего-то не написали - есть boost, в котором как в Греции, ну ты понял.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 172098

Старое сообщение 05-04-2018 03:20
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Вот этот подход в конечном итоге приводит ктому, что скайп потребляет полгигабайта памяти, а про браузер я воще молчу.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 172099

Старое сообщение 05-04-2018 06:30
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Дядя Миша
Конкретно этот подход ни к чему подобному не приводит.
Он приводит к удешевлению и ускорению разработки, что куда более актуально, чем оптимизация потребления памяти с 500 Мб до 498 Мб.
Сколько времени у тебя займёт написать собственную реализацию КЧ-дерева, при условии что копипастить CUtlRbTree из Сорса - нельзя? Час? И ещё час на отладку и базовые тесты? И она будет быстрее STL-ной, ты это можешь заранее гарантировать?

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 172100

Старое сообщение 05-04-2018 06:45
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
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'

Сообщить модератору | | IP: Записан
Сообщение: 172104

Старое сообщение 05-04-2018 14:36
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Правильно понимаю, это ты переписал скайп и сэкономил всего 2 мегабайта?

Нет, я предположил, что из 500 Мб оверхед умных указателей где-то 2 Мб будет. У тебя есть какие-то конкретные данные по этому вопросу?
Цитата:
Дядя Миша писал:
вот и задумайся отчего в сорсе STL не юзали.

Зачем задумываться, я знаю, отчего в сорсе STL не юзали. В те годы STL был весьма сырым. Но с момента начала разработки сорса почти 20 лет прошло, и многие "детские" болезни STL излечены. Во многом - благодаря улучшению языка в стандарте С++11.
Цитата:
Дядя Миша писал:
Я в канпиляторах вот кокрастоке выкинул STL и получил прирост в 12% примерно, по скорости.

А где гарантия, что компиляторы писали грамотные люди, которые правильно использовали STL? Если плохо знаешь язык, можно и с арифметикой сырых указателей так затормозить программу, что мало не покажется.
Цитата:
Дядя Миша писал:
Так что да, могу.

Ты хотя бы CUtlRbTree относительно std::map профилировал?

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 172106

Старое сообщение 05-04-2018 14:54
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
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'

Сообщить модератору | | IP: Записан
Сообщение: 172107

Старое сообщение 05-04-2018 21:38
-
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34498
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
Дядя Миша писал:
Да-да, теперь вся студия превратилась в такое же говно, как и STL

Ты Пастернака не читал, но осуждаешь?
Цитата:
Дядя Миша писал:
Нунапример?

Погугли примеры cache-unfriendly кода.
Цитата:
Дядя Миша писал:
Не возникало такой задачи, т.к. я не юзаю STL.

Ах да, опять Пастернак.

__________________
Правдой дорожить, лжи не потакать,
Дальних не судить, ближним помогать,
С тишиной сойтись на исходе дня
Научи меня, Родина моя!

Сообщить модератору | | IP: Записан
Сообщение: 172109

Старое сообщение 06-04-2018 03:28
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32188
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
XaeroX писал:
Ты Пастернака не читал, но осуждаешь?

Так может я бы наоборот, если бы прочитал, то и переменил бы мнение. Но всё что вижу меня в этом намерении не поддерживает.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 172111

Старое сообщение 06-04-2018 16:31
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 18:32. Новая тема    Ответить
Страницы (4): « 1 2 3 [4]   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Наш форум > Технические вопросы > Знаете ли вы С++?
(часть 1)
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024