夜间模式暗黑模式
字体
阴影
滤镜
圆角
主题色

标签:C++

13 篇文章

thumbnail
VS调试-崩溃和内存泄漏
程序崩溃定位 创建dump文件 对于程序崩溃,可以使用对崩溃的进程创建转存储文件(dmp文件)以定位程序崩溃的位置。 生成dump文件的两种方法: 任务管理器-详细信息,右键创建转存储文件 在程序中使用SetUnhandledExceptionFilter(unhandled_handler);,未被捕获的异常会交给unhandled_handle…
thumbnail
Windows DLL
动态链接库的编写 编写DLL时,在需要导出给别的程序用的名称前加上```__declspec(dllexport),而在别的程序使用dll中名称时,对于普通名称可以直接使用,而对于含有静态成员的类时,则会出现链接器找不到类中的静态成员的错误,这时则需要使用__declspec(dllimport)` 表明该类中的静态成员定义在DLL中。我们可以用一…
thumbnail
Effective C++
3. const 成员函数后面的const也会导致重载 如果const和非const成员函数代码重复,可以在const函数中实现一次,然后在非const函数中通过cast调用const版本的函数 char & operator[] (int i) { return const_cast<char&>( static_ca…
thumbnail
QT多线程
QT多线程 继承QThread并重写run() 全局线程 我们把和UI相同生命周期的线程叫做全局线程。 启动线程 if(m_thread->isRunning()) return; m_thread->start(); 停止线程 如果我们在线程类的run里面调用的exec()启动了事件循环,可以通过quit()通知事件循环以返回值0结束…
thumbnail
STL源码-笔记汇总
完整代码见: Standard-Template-Library STL源码剖析 参照STL源码剖析和SGI STL的源码, 将常用的一些STL的内容较为完整的实现了一遍 根目录下带的代码是我自己实现的STL, 测试代码放在了Test目录下, SGI-STL V3.3目录中是STI-STL的源码, Note目录中是学习过程中的笔记(下面列出了所有笔…
thumbnail
重载箭头运算符
在学习STL源码的时候, 看到了迭代器对于->运算符的重载, 有点迷惑, 在网上查了些资料 ->是一个一元运算符, 必须返回一个指针或者定义了->的对象 如果返回的指针, 那么a->x相当于调用operator->()->x, 如果是对象, 则为operator->()->x struct A { i…
thumbnail
STL源码-rb_tree
完整代码见: Standard-Template-Library/rb_tree.h 红黑树的基本性质 红黑树是SGI实现里面set, map的底层, 本质是一个二叉搜索树, 有以下5个性质 每个结点要么是红的,要么是黑的 根结点是黑的 每个叶结点(叶结点即指树尾端NIL指针或NULL结点)是黑的 如果一个结点是红的,那么它的俩个儿子都是黑的 对于…
thumbnail
STL源码-list
完整代码见: LiTianxiong/Standard-Template-Library list SGI的list实现太漂亮了(特别是链表的排序), 单独一篇来记录 STL的list是一个双向链表, 并且定义了一个node节点, 作为一个特殊的节点,, node->next是链表第一个节点, 链表最后一个节点指向node, 所以它还是一个循…
thumbnail
STL源码-vector
完整代码见: LiTianxiong/Standard-Template-Library vector vector是最常用的序列式容器之一, 这份简单的vector实现只是实现了一些基本的方法, 迭代器也是直接使用了指针 vector内部使用一块连续的内存空间来存储数据, 当容量不足时, 将会申请一块大小为max(原来大小的两倍, 所需要的空间大…
thumbnail
STL源码-迭代器
完整代码见: LiTianxiong/Standard-Template-Library 迭代器 struct input_iterator_tag {}; struct output_iterator_tag {}; struct forward_iterator_tag :public input_iterator_tag {}; struct…