Pull to refresh
26
0
Александр @skor

Пользователь

Примеры C++ кода до и после Ranges

А чего именно из boost::adaptors вам не хватало?

Преобразование обычного класса в странно повторяющийся шаблон

Довольно низкий уровень статьи, вводит в заблуждение.

Яндекс открывает ClickHouse

Может быть изначально не предполагалось выкладывать в опен-сорс.
Может быть руки ещё до перевода не дошли.

Шизоидный язык программирования самообучающихся алгоритмов «Автор»

Взглянул в исходный код, это сказка. Ребята, не судите строго человека, дайте ему продолжить.
monstr0518 постарайтесь проверить хотя бы грамматические ошибки в посте, и, конечно, пожалуйста, продолжайте.

Добавляем рефлексию для перечислений (enum) в C++

Рекомендую сделать header-only решение.

Моки, фейки и заглушки на C++

Чем неинтересней пост, тем больше баннер?
Просто C++ написал на баннере, смешно…

Инкапсуляция интерфейсов. Делаем API в C++ удобным и понятным

Спасибо, я в курсе. Для пимпла на базовый класс опасно и затратно использовать unique_ptr с виртуальным деструктором, тогда уж shared_ptr + защищенный невиртуальный декструктор. Во всех примерах, что вы привели, unique_ptr в пимпле не используется для хранения указателя на базовый класс. Вследствие несистемности подхода получаем, например, утечку в object::data.

Инкапсуляция интерфейсов. Делаем API в C++ удобным и понятным

Опять дочитал до слова virtual и запнулся:

virtual ~object(); // для корректной генерации unique_ptr

Поясните, пожалуйста, что вы имеете в виду?

Как сделать тетрис за полгода на cocos2dx

По смарт-поинтерам основы: www.boost.org/doc/libs/1_58_0/libs/smart_ptr/sp_techniques.html
по шаблонам основы: Александреску «Современное проектирование на с++»
а дальше по мере нужды: из списка: www.boost.org/doc/libs/1_59_0

Как сделать тетрис за полгода на cocos2dx

Проблем много, лень всё описывать тут, но главное, что они все решаемы. Перебор контейнеров, например.

Как сделать тетрис за полгода на cocos2dx

Почти образцовый, очень аккуратный проект.
Удивляюсь, конечно, как он не падает при таком довольно старомодном подходе к программированию на C++.

NW.js (Node-Webkit) + Рутокен = RutokenJS (Начало)

Да мало ли проектов пишется на С++. О всех в хаб писать?

NW.js (Node-Webkit) + Рутокен = RutokenJS (Начало)

Внимание читателям хаба cpp

Если кто-то вдруг всё таки (всякое бывает) сначала читает комментарии, предупреждаю, про C++ тут нет ни слова.
Страшное слово рутокен это вот статья на вики .

NW.js, Node-Webkit даже не стал гуглить (и вам не советую), что-то про веб.

Введение в магию шаблонов

Третья подряд некачественная статья от автора. Предлагаю сообществу поактивнее самомодерироваться.

Web-технологии глазами С++ программиста

Ну хоть свой фреймворк на C++ не стали писать, и на том спасибо :)

Городские легенды о медленных вызовах виртуальных функций

Когда тип известен, и дело только за кастом, то лучше
boost::dynamic_cast<Derived>(x)

Розыгрыш билета на конференцию С++ Russia от компании JetBrains

Бьёрн Страуструп создал С++ 36 лет назад, и он до сих пор востребован и пользуется популярностью у разработчиков, потому что
no matching function for call to 'assertion_failed(mpl_::failed************ 
(boost::spirit::qi::grammar<Iterator, T1, T2, T3, T4>::grammar(const 
boost::spirit::qi::rule<Iterator_, T1_, T2_, T3_, T4_>&, const string&) 
[with Iterator_ = __gnu_cxx::__normal_iterator<const char*, 
std::basic_string<char> >, T1_ = hs::Language::AX*(), T2_ = 
boost::spirit::unused_type, T3_ = boost::spirit::unused_type, T4_ = 
boost::spirit::unused_type, Iterator = __gnu_cxx::__normal_iterator<const 
char*, std::basic_string<char> >, T1 = hs::Language::AX*(), T2 = 
boost::spirit::locals<std::vector<hs::Language::AX*>*>, T3 = 
boost::spirit::unused_type, T4 = boost::spirit::unused_type, std::string = 
std::basic_string<char>]::incompatible_start_rule::************)(boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const 
char*, std::basic_string<char> >, hs::Language::AX*(), 
boost::spirit::unused_type, boost::spirit::unused_type, 
boost::spirit::unused_type>))' 
/usr/include/boost/proto/extends.hpp:537:29: error: use of deleted function 
'boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, 
boost::proto::argsns_::term<boost::spirit::qi::reference<const 
boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, 
std::basic_string<char> >, hs::Language::AX*(), 
boost::spirit::locals<std::vector<hs::Language::AX*>*>, 
boost::spirit::unused_type, boost::spirit::unused_type> > >, 0l>::expr()' 
/usr/include/boost/proto/detail/preprocessed/expr_variadic.hpp:37:12: 
error: 'boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal, 
boost::proto::argsns_::term<boost::spirit::qi::reference<const 
boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, 
std::basic_string<char> >, hs::Language::AX*(), 
boost::spirit::locals<std::vector<hs::Language::AX*>*>, 
boost::spirit::unused_type, boost::spirit::unused_type> > >, 0l>::expr()' 
is implicitly deleted because the default definition would be ill-formed: 
/usr/include/boost/proto/detail/preprocessed/expr_variadic.hpp:37:12: 
error: no matching function for call to 'boost::spirit::qi::reference<const 
boost::spirit::qi::rule<__gnu_cxx::__normal_iterator<const char*, 
std::basic_string<char> >, hs::Language::AX*(), 
boost::spirit::locals<std::vector<hs::Language::AX*>*>, 
boost::spirit::unused_type, boost::spirit::unused_type> >::reference()' 

#розыгрыш

Tree — убийца JSON, XML, YAML и иже с ними

«Потом его в дурку забрали, конечно».

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity