STL_heap
简述 heap并不属于STL容器组件,它是priority queue的助手。 priority queue允许用户以任何次序将任何元素推入容器中,但取出时一定是从优先权最高的元素开始取。 binary heap是一种完全二叉树,即,整颗二叉树,除了最底层的叶子节点之外,是填满的...
简述 heap并不属于STL容器组件,它是priority queue的助手。 priority queue允许用户以任何次序将任何元素推入容器中,但取出时一定是从优先权最高的元素开始取。 binary heap是一种完全二叉树,即,整颗二叉树,除了最底层的叶子节点之外,是填满的...
进程内存空间布局 当运行一个可执行文件时,操作系统就会把这个可执行文件加载到内存中,此时进程就会有一个虚拟的地址空间(内存空间)。 BSS存放未初始化或者初始化为0的全局变量。 Linux下,可以通过nm列出可执行文件中的全局变量的地址。 全局变量以及全局的函数在编译时就已经分配...
6大组件 容器 vector list deque set map 从实现的角度,STL容器是class template 算法 sort search copy ... 从实现的角度,STL算法是function template 迭代器 容器与算法之间的“胶合剂” 所谓的“泛...
控件注册机制 使用 TplSWindowFactory NewWindow只会在SOUI模块中调用。 对象的释放 TObjRefImpl里有个虚函数OnFinalRelease。 SWindow和SSkinObjBase是在SOUI中实现的,因此派生这两个类的新的控件类以及皮肤类...
定义 使用 引入gflags文件夹 定义下面的宏 使用
语言特性 指定初始化 按名称初始化结构体成员,提高可读性 [[likely]]和[[unlikely]] 提示编译器分支预测优化 标准库新增组件 std::atomic_ref(原子引用) 概述 C++20 引入的模板类,允许对 非原子类型 的对象进行原子操作 它的核心作用是为现...
SetMsgHandled 当用户在自己的消息映射表中增加一个消息处理函数,而且是插入在映射表的CHAIN_MSG_MAP(SHostWnd)前(也应该在此之前,否则很可能就收不到消息)。 默认情况下会自动标志该消息已经被处理了,如此一来就不会继续交给SHostWnd处理。 解决...
引用折叠 概述 引用折叠(Reference Collapsing)是C++11引入的机制,用于处理模板编程中多重引用组合的类型推导问题 当间接生成“引用的引用”(如通过模板参数推导、类型别名等)时,编译器会根据规则将其折叠为单一引用类型 它的核心目的是支持完美转发(Perfec...
12 复制对象的所有部分 概述 在C++中,实现拷贝构造函数和赋值运算符时,确保复制对象的所有成员变量是至关重要的 忽略某些成员变量可能会导致不完整或错误的对象状态,进而引发难以追踪的错误 为什么要复制对象的所有部分 保持对象的一致性: 所有成员变量都应该在拷贝时保持一致,以确保...
概述 关于shared_ptr智能指针对象管理内存的情况 不同的shared_ptr对象管理不同的内存 多个shared_ptr对象管理同一块内存 对于管理不同的内存 因为每个shared_ptr对象都有各自的控制块,因而引用计数独立,所有不存在问题 对于管理同一块内存 因为每个...
搜索当前标签