随笔分类 - C++
摘要:相同类型 initializer_list对象中的元素永远是常量值,我们无法改变initializer_list对象中元素的值。并且,拷贝或赋值一个initializer_list对象不会拷贝列表中的元素,其实只是引用而已,原始列表和副本共享元素。(没有看源码,估计是通过智能指针保留原始对象的强或弱
阅读全文
posted @ 2020-05-14 15:23
sfdevs
摘要:区别 对字符的默认处理 std::istream_iterator 默认跳过空白符(可以设置不跳,如std::noskipws) std::istreambuf_iterator 不跳过。 效率 std::istreambuf_iterator更有效率,因为它避免对每个字符构造并析构一次sentry
阅读全文
摘要:&& universal references(未定的引用类型),它必须被初始化,它是左值还是右值取决于它的初始化,如果&&被一个左值初始化,它就是一个左值;如果它被一个右值初始化,它就是一个右值;只有当发生自动类型推断时(如函数模板的类型自动推到,或auto关键字),&&才是一个un
阅读全文
摘要:C++11 让程序更简洁、更优雅 可调用对象 1. 是一个函数指针 2. 是一个具有operator()成员函数的类对象(仿函数) 3. 是一个可被装换为函数指针的类对象 4. 是一个类的成员(函数)指针 std::function std::function是可调用对象的包装器,可以容纳除了类成员
阅读全文
摘要:```#include #include struct Base { int a; virtual void f() const { std::cout (); std::cout f(); auto derivedPtr = std::make_shared(); std::cout f(); // 上行的转换(派生类到基类的转换) ...
阅读全文