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

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

Send message
А чего именно из boost::adaptors вам не хватало?
Довольно низкий уровень статьи, вводит в заблуждение.
Может быть изначально не предполагалось выкладывать в опен-сорс.
Может быть руки ещё до перевода не дошли.
Взглянул в исходный код, это сказка. Ребята, не судите строго человека, дайте ему продолжить.
monstr0518 постарайтесь проверить хотя бы грамматические ошибки в посте, и, конечно, пожалуйста, продолжайте.
Рекомендую сделать header-only решение.
Чем неинтересней пост, тем больше баннер?
Просто C++ написал на баннере, смешно…
Спасибо, я в курсе. Для пимпла на базовый класс опасно и затратно использовать unique_ptr с виртуальным деструктором, тогда уж shared_ptr + защищенный невиртуальный декструктор. Во всех примерах, что вы привели, unique_ptr в пимпле не используется для хранения указателя на базовый класс. Вследствие несистемности подхода получаем, например, утечку в object::data.
Опять дочитал до слова virtual и запнулся:

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

Поясните, пожалуйста, что вы имеете в виду?
По смарт-поинтерам основы: www.boost.org/doc/libs/1_58_0/libs/smart_ptr/sp_techniques.html
по шаблонам основы: Александреску «Современное проектирование на с++»
а дальше по мере нужды: из списка: www.boost.org/doc/libs/1_59_0
Проблем много, лень всё описывать тут, но главное, что они все решаемы. Перебор контейнеров, например.
Почти образцовый, очень аккуратный проект.
Удивляюсь, конечно, как он не падает при таком довольно старомодном подходе к программированию на C++.
Да мало ли проектов пишется на С++. О всех в хаб писать?
Внимание читателям хаба cpp

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

NW.js, Node-Webkit даже не стал гуглить (и вам не советую), что-то про веб.
Третья подряд некачественная статья от автора. Предлагаю сообществу поактивнее самомодерироваться.
Ну хоть свой фреймворк на C++ не стали писать, и на том спасибо :)
Когда тип известен, и дело только за кастом, то лучше
boost::dynamic_cast<Derived>(x)
Бьёрн Страуструп создал С++ 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()' 

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

Information

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