nullptr;
std::function<void(base_4*)> b = nullptr;
b = std::move( a );
if (b) {
try {
b(nullptr);
}
catch (std::bad_function_call const&) {
std::cout << "WHAT?";
}
}
ну я понимаю в чем суть, видимо я под свое восприятие переделал. Но вот, как я вижу, все отлично - эксепшн не срабатывает.
template<typename _Signature> static bool _M_not_empty_function(const function<_Signature>& __f) { return static_cast<bool>(__f); } template<typename _Tp> static bool _M_not_empty_function(_Tp* __fp) { return __fp != nullptr; } template<typename _Class, typename _Tp> static bool _M_not_empty_function(_Tp _Class::* __mp) { return __mp != nullptr; } template<typename _Tp> static bool _M_not_empty_function(const _Tp&) { return true; }
Я один тут вижу нижние черкаши только?
похоже на типичный библиотечный код
Обсуждают сегодня