C++_ 引用折叠、万能引用、完美转发、auto推导、函数指针引用、顶层const、底层const
引用折叠 概述 引用折叠(Reference Collapsing)是C++11引入的机制,用于处理模板编程中多重引用组合的类型推导问题 当间接生成“引用的引用”(如通过模板参数推导、类型别名等)时,编译器会根据规则将其折叠为单一引用类型 它的核心目的是支持完美转发(Perfec...
引用折叠 概述 引用折叠(Reference Collapsing)是C++11引入的机制,用于处理模板编程中多重引用组合的类型推导问题 当间接生成“引用的引用”(如通过模板参数推导、类型别名等)时,编译器会根据规则将其折叠为单一引用类型 它的核心目的是支持完美转发(Perfec...
异同 STL list是个双向链表。SGI STL另提供了一个单向列表,叫slist。 slist的迭代器属于单向的Forward iterator,list迭代器是双向的Bidirectional Iterator。 slist功能少点,所耗用的内存小点。 共同点是插入,移除,...
标准库tuple类模板 tuple是类似pair的模板。 每个pair的成员类型都不相同,但每个pair都恰好有两个成员。 不同tuple类型的成员类型也不相同,但是一个tuple可以有任意数量的成员。 每个确定的tuple类型的成员数目是固定的,但一个tuple类型的成员数目可...
thread相关 创建线程 使用 std::thread 构造函数创建线程,需传递一个可调用对象(函数、Lambda、函数对象等) 可调用对象 普通函数(函数指针) 函数对象(仿函数,Functor) 定义一个重载了 operator() 的类: lambda表达式 直接在线程构...
导出SOUI对象到Lua 为了在SOUI中使用lua,需要使用lua内核实现一个SOUI::IScriptModuler接口。 导出SOUI对象通常应该在IScriptModule的实现类的构造中执行 在lua中使用 事件分发处理 在MFC中,一个类要处理消息,这个类通常派生自C...
线程池 创建线程池方法一 调用async_factory_impl::create创建线程池 但是这个函数实际作用是用于创建一个记录器 由于需要一个线程池对象参数,所以在创建记录器之前做了个检查,如果还不存在线程池,就先创建线程池,再构造记录器 这里使用递归锁的原因可能是为了使代...
搜索当前标签