Как известно, ключевое слово friend в C++ используется для предоставления доступа к закрытым членам класса внешним функциям и классам. Помимо этого, friend наделена еще одной фишкой, о которой знают далеко не все. В этой статье речь пойдет о hidden friends. Желающих разобраться в сабже, прошу под кат.
User
Что делать, если в твоем тексте или коде нашли ошибку?

Ты написал код, отправил его на ревью. Во время ревью тебе указали на ошибку в коде и вернули задачу на доработку. Или текст, отправленный на проверку, получил фидбэк о пропущенной запятой или орфографической ошибке.
Рассуждаем о том, почему не стоит сразу исправлять ошибку и отправлять на повторное ревью. Призываем делиться своим мнением по вопросу в комментариях.
Просто о сложном — move в языке C++
Здравствуйте уважаемые читатели. Данная публикация адресована начинающим разработчикам С++ которые только становятся на путь высокой производительности и "отстрелянных конечностей". Опытные разработчики найдут здесь скорее повторение тех вещей, которые сами мучительно осваивали в те далекие времена, когда в языке С++ появилась возможность удобного перемещения объектов.
Многие из вас уже слышали и надеюсь использовали функцию move() в своих проектах. Если нет, то пришло время с ней познакомиться.
Вопрос: Опять этот move, сколько уже можно? Есть же множество опубликованного материала по этой теме?
Ответ: Да, есть много статей. В свое время учился по ним, в том числе и тут, на Хабре [1, 2]. Но мне все равно было не понятно, значит, учитывая статистику, непонятно также и некоторому количеству читателей.
Как обычно начинаются туториалы по move? Рассмотрим lvalue объект, ему соответствует rvalue объект, между ними есть оператор присваивания (=). Тут появляются ссылки, да не просто, а ссылки на lvalue, на rvalue и пошло-поехало. Мозг перегружается, статья пролистывается до конца. Поэтому попробую рассказать о move c другой стороны - в стиле "от практики к теории" - так, как хотел бы чтобы мне рассказали.
Тренируемся дома по программе Пола Уэйда. Часть Четвёртая: Мостик или Секрет Бронированного Позвоночника

Программа Тюремных Тренировок — это эффективные методы обучения по работе со своим весом. Многие из этих забытых, но действенных техник — находятся на грани исчезновения. Современный бодибилдинг поменял наше мышление, навязав ложные убеждения. Поэтому мы сняли этот фильм в Алькатрасе, вернувшись во времена, когда «Скала» была крупнейшей тюрьмой для особо опасных преступников. Пожалуй, это самое правильное место, чтобы показать методы тренировок заключённых.
C++ в Практикуме. Как обучить студентов плюсам, не отпугивая

Качественное образование — это не просто формальный диплом именитого вуза или парочка сертификатов о пройденных курсах. Это прежде всего новые навыки и уверенное желание применять их на практике. Такое возможно, если человек на самом деле хорошо учился и если его хорошо учили. Ведь даже самую интересную дисциплину можно преподавать так, что студентам будет откровенно скучно.
Меня зовут Антон Полднев, я уже давно пишу в Яндексе на C++ и руковожу сервисом, написанным на этом языке. Параллельно я учу других людей навыкам разработки. С 2016 года я вёл курсы на Coursera, затем мы их прокачали и сделали на их основе курс для Практикума. В этом посте я расскажу, как мы учим людей C++, а также про основные особенности этого языка.
Абсурдный код или «как не стоит писать»
Совсем недавно я поделился постом, в котором собрал забавные комменты в исходном коде и читателям зашло. И я решил, а почему бы не сделать похожую подборку, только с кривым кодом? Кому интересно, добро пожаловать под кат.

Как и в предыдущий раз, вдохновился я на этот пост благодаря очень популярному вопросу на Quora, а именно: Какой самый абсурдный код вы когда-либо видели? (Ориг. What is the most absurd code you've ever seen?)
Вопрос размещен пару лет назад, но туда все продолжают прилетать ответы. Несколькими из них я и поделюсь ниже.
С/С++ на Linux в Visual Studio Code для начинающих

Специализированные чипы не спасут нас от «тупика ускорителей»

Усовершенствования в скорости работы ЦП замедляются, и мы наблюдаем, как полупроводниковая индустрия переходит на карточки ускорителей, чтобы результаты продолжали заметно улучшаться. Больше всего выгоды от этого перехода получила Nvidia, однако, это часть одной и той же тенденции, питающей исследования в области ускорителей нейросетей, FPGA, и таких продуктов, как TPU от Google. Эти ускорители невероятно увеличили быстродействие электроники в последние годы, и многие начали надеяться, что они представляют собой новый путь развития, в связи с подтормаживанием закона Мура. Но новая научная работа высказывает предположение, что на самом деле всё не так радужно, как хотелось бы некоторым.
Такие специальные архитектуры, как GPU, TPU, FPGA и ASIC если даже и работают совсем не так, как CPU общего назначения, то всё равно используют те же функциональные узлы, что и процессоры x86, ARM или POWER. А это значит, что увеличение быстродействия этих ускорителей тоже в какой-то мере зависит от улучшений, связанных с масштабированием транзисторов. Но какая доля этих улучшений зависела от улучшения технологий производства и увеличения плотности, связанной с законом Мура, а какая – от улучшений в целевых областях, для которых предназначены эти процессоры? Какая доля улучшений связана только с транзисторами?
Идеальное резюме, которому будут рады рекрутер и работодатель
Топ 20 ошибок при работе с многопоточностью на С++ и способы избежать их

Сцена из фильма «Петля времени» (2012)
Многопоточность— одна из наиболее сложных областей в программировании, особенно в C++. За годы разработки я совершил множество ошибок. К счастью, большинство из них были выявлены на код ревью и тестировании. Тем не менее, некоторые каким-то образом проскакивали на продуктив, и нам приходилось править эксплуатируемые системы, что всегда дорого.
В этой статье я попытался категоризировать все известные мне ошибки с возможными решениями. Если вам известны еще какие-то подводные камни, либо имеете предложения по решению описанных ошибок– пожалуйста, оставляйте свои комментарии под статьей.
Подборка полезностей для программиста под Linux
Думаю, у каждого программиста есть набор любимых утилит, трюков и знаний. Некоторые он даже использует в работе. Скорее всего, у разных программистов они различаются. Значит, пришло время поделиться. Сегодня я расскажу о своей подборке того, что, вероятно, известно не настолько широко, как оно того заслуживает. Речь пойдёт преимущественно про платформу GNU/Linux.
В чем набрать и чем собрать C++ проект
Сразу хочу отметить что речь идет о написании C++ кода не под какую-то специфичную платформу типа Android или фреймворка, например Qt, — где все уже готово, как с построением так и с редактированием кода, а об generic коде не привязанному к конкретной платформе или фреймворку.
OpenCL. Подробности технологии

Здравствуй, уважаемое хабрасообщество.
В предыдущей статье про OpenCL был сделан обзор этой технологии, возможностей, которые она может предложить пользователю и ее состояния на настоящий момент.
Теперь рассмотрим технологию более пристально. Постараемся понять, как OpenCL представляет гетерогенную систему, какие предоставляет возможности по взаимодействию с устройством и какой предлагает подход к созданию программ.
Оптимальные опции для x86 GCC
MPAA хочет, чтобы провайдеры отключали от интернета пиратов-рецидивистов

В работе описано множество проблемных, с точки зрения MPAA, мест в законах, и приводятся требования и пожелания к их усовершенствованию. Кроме провайдеров, в борьбе с ненавистным пиратством должны участвовать и поисковики – они не просто обязаны удалять ссылки на пиратский контент по первому требованию правообладателей, но и обеспечить препятствия к повторному появлению ссылок на эти же материалы, находящиеся на других URL.
Регистраторы доменов, естественно, должны по первому требованию правоперекупщиков разделегировать домены пиратских сайтов – таких, как The Pirate Bay.
Джули Рубикон. Признание бывшего сотрудника Facebook

Примечание от Робина Слоана, который опубликовал запись в своём блоге 15 марта 2016 года: «Этот рассказ появился в моём защищённом ящике в конце прошлого месяца, вместе с просьбой опубликовать его на Facebook сегодня именно в таком формате. Я не могу поручиться за подлинность истории, но она показалась мне достаточно странной и интересной».
#
Записывать всё это — последнее, что мне хочется делать, но это необходимо. Частично ради людей, которые обязаны знать, что происходит с их публикациями на Facebook, но главным образом (99%) ради Джули Рубикон и того пика на графике.
Мои бывшие коллеги из Facebook Inc. в Менло-Парк, Калифорния — привет, Джейн, привет, Нил, привет… Марк? — немедленно поймут, кто это написал, и компания вероятно будет преследовать меня, но я думаю, они провернут всё тихо. Комиссия по ценным бумагам не ограничится тихим расследованием, если действительно нарушены соответствующие правила и нормы, но честно… вряд ли такие правила существуют.
Парк куриного периода: учёные вырастили ногу динозавра у курицы

Генетики из Чилийского университета при помощи генетических манипуляций над куриным эмбрионом добились того, что у взрослой курицы ноги приобрели черты ног динозавров. При этом вместо введения в куриный геном новых генов потребовалось, наоборот, выключить некоторые из уже имевшихся.
У куриц в ногах сохранился рудимент под названием малоберцовой кости, напоминающей булавку. Её относительный размер меньше, чем у предков птиц, и она никак не связана с костями в ноге. Учёные выяснили, что подавление гена IHH (Indian hedgehog homolog), отвечающего за развитие костей, приводит к развитию полноценной малоберцовой кости, которая, к тому же, вырастает присоединённой к лодыжке. В результате анатомия ног птицы приблизилась к анатомии хищных динозавров.
У динозавров, предков птиц, большая берцовая и малоберцовая кости были сходного размера и соединялись вместе. В ходе эволюции последняя за ненадобностью уменьшилась и перестала быть соединённой с другими костями. Ещё в 19 веке учёные отметили, что ход эволюции сказывается на развитии эмбрионов птиц – у них обе кости сначала появляются одинаковыми, а затем одна отстаёт в развитии.
До Марса за три дня?
Гексапод Б.У.Н.Т

Всех интересующихся прошу под кат, там вкратце описана история создания и трудности с которыми пришлось столкнуться, а так же видео работы гексапода. Ни каких графиков, схем и кода, только лирика.
Information
- Rating
- 2,364-th
- Location
- Балашиха, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity