Pull to refresh
29
0
Евгений Мамин @DZhon

User

Send message
И это, пусть и классическая, но самая верная точка зрения.
Да нет, оно бывает вполне себе верным, коли не до всего руки у авторов STL дотягиваются. В той же Visual Studio 2010 std::copy для POD структур в контейнере std::vector вызовется поэлементное копирование вместо блочного. Это может стоить дорого.
Оптимизации на уровне библиотеки не менее важны, чем сбор спичек в отдельных задачах, поскольку представляют из себя приятный бонус в любом проекте, использующем эти библиотечные вызовы. Кроме того, оптимизация может повлиять и опосредовано, если вы пересоберете сторонний компонент (за что мы любим opensource), который используете у себя, а он, негодяй этакий, к std::copy внутри обращается. Разве это не прекрасно?
Кроме того, в последнем исходнике данное место, на мой взгляд, некорректно:
// Выбираем подходящую реализацию
    return __do_copy::do_copy(first, last, result);

Поскольку вы не передали шаблонный параметр is_simple, когда запросили специализацию __do_copy.
>В реальной библиотеке все немного сложнее, потому что стандартом зафиксировано, что std::move имеет два шаблонных параметра. Если программист явно их укажет, то все равно надо выбрать оптимизированный вариант. Поэтому различные реализации описаны под служебными именами, а в самом std::move находится код, выбирающий наиболее подходящую реализацию. Вот значительно упрощенный вариант:

Вы, кажется, здесь заговорились. Move-семантика и сопутствующий std::move здесь не при чем, речь же идет об std::copy.
Только песня совсем не о том, как не ладили люди с котом.
Очень недурно, впервые за многое время интересная статья на тему low-level C++.
Подумываю собрать на нем хроматический тюнер.
Все-таки это не очень вписывается в концепцию автоматического обновления, к которой так привыкли пользователи Android. Я безмерно благодарен вам за чудесный продукт, но всего лишь хочу пожелать вносить критические изменения с сохранением обратной совместимости форматов данных.
Энгармонирую вашему комментарию, любезный!
Удивительное рядом: скачал апдейт с Android Market, будучи дома в ласковых волнах собственного WiFi, вышел на улицу, хотел было посмотреть, как же мне проехать до желанного пункта B, ан нет! 2GIS сообщил о необходимости обновления карты. Такая беда.
Я думаю, можно значительно расширить возможности отладчика в IDE. Начиная с выполнения кода при его изменении без перекомпиляции/перезапуска отладчика.
Можно, пожалуйста, примеры обработки распарсенного исходника?
То, что вы описали с перечислением, называется техникой X-macro.
www.drdobbs.com/cpp/the-x-macro/228700289
Звуковой сервер, как пример, конечно.
Ну, если рассматривать железку не только как маршрутизатор, но и как звуковой сервер в пределах дома, то ваша правда.

На днях как раз обнаружил, как легко и просто pulseaudio + avahi позволяют передавать звук в пределах локальной инфраструктуры с минимумом настроек. Чем теперь пользуюсь, чтобы с ноутбука транслировать аудио на нормальные колонки и звуковую карту ПК.
Простите, я все-таки не понимаю, OpenWRT по сути и делает из железки linux-based роутер. Есть менеджер пакетов, есть тулчейн, есть рут-доступ. В чем проблема?
Простите, а зачем вам маршрутизатор на x86, коли есть множество доступных вариантов на ARM, в которые можно поставить OpenWRT и получить тот же компьютер, только без необходимости что-то менять и модифицировать в самом железе для сети?
У AMD с этим промахов нет. UVD юзабелен еще со времен HD 3200/3300 для чипсетов 780G/790G.

Information

Rating
Does not participate
Location
Ростовская обл., Россия
Date of birth
Registered
Activity