随笔分类 -  C++

摘要:template<typename T> using Vec = std::vector<T, MyAlloc<T>>; //then:; Vec<int> coll; // is equivalent to: std::vector<int, MyAlloc<int>> coll; // 使用宏m 阅读全文
posted @ 2020-04-06 18:49 狂奔~ 编辑
摘要:#include <cstdio> #include <iostream> #include <tuple> #include <vector> #include <complex> using namespace std; void print(initializer_list<int> list 阅读全文
posted @ 2020-04-05 21:52 狂奔~ 编辑
摘要:访问字符串中的字符 可以使用[]或者at()方法来访问字符串中的字符,起始索引是0.最大有效索引是string.length()-1.(特别的,如果是const string类型的对象,那么最大有效索引是string.length(),最后一个字符是'\0’.) []和at()的区别在于[]不检查索 阅读全文
posted @ 2020-02-18 16:21 狂奔~ 编辑
摘要:原文:https://www.cnblogs.com/wangkeqin/p/9351299.html Thread线程框架 线程定义:线程可以理解为一个特立独行的函数。其存在的意义,就是并行,避免了主线程的阻塞。 thread与函数 线程启动 C++线程的启动, 只需要#include <thre 阅读全文
posted @ 2019-10-14 18:12 狂奔~ 编辑
摘要:原文:https://www.cnblogs.com/wangkeqin/p/9351191.html c++中动态内存的管理是通过new和delete来完成的,只要保证new和delete的配对使用,是没有问题的。但是有时候我们会忘记释放内存,甚至有时候我们根本就不知道什么时候释放内存。特别时在多 阅读全文
posted @ 2019-10-14 14:35 狂奔~ 编辑
摘要:优先队列的实现是一个大根堆,所以每次 push(x)/pop() 操作的时间复杂度是 O(logn),log以2为底,n是该优先队列中的元素个数 优先队列中的元素一定要定义小于号,C++中自带的类型 int,char 等已经定义好小于号了 http://www.luyixian.cn/news_sh 阅读全文
posted @ 2019-10-05 22:21 狂奔~ 编辑
摘要:原文地址https://www.cnblogs.com/xiaogege/archive/2013/04/06/STL_deque.html 双端队列(deque)是一种支持向两端高效地插入数据、支持随机访问的容器。 其内部实现原理如下: 双端队列的数据被表示为一个分段数组,容器中的元素分段存放在一 阅读全文
posted @ 2019-10-05 22:13 狂奔~ 编辑
摘要:原文地址https://www.cnblogs.com/renyuan/p/6216354.html std::bind1st 和 std::bind2nd将二元函数转换为一元函数,具体用法参加下面的代码。 代码介绍了两种使用方式,第一种是使用std::less和std::greater,第二种是使 阅读全文
posted @ 2019-10-05 20:52 狂奔~ 编辑
摘要:虚函数本质就是一个函数指针 友元函数不能声明为虚函数,但是虚函数可以作为另一个类的友元。 构造函数不可以是虚函数,若声明为虚函数:不会再次构造,没有办法创建子类中父类对象 虚析构函数,让父类指针正确的释放子类对象的内存:先调用子类的析构,再调用父类的析构 纯虚函数 含有纯虚函数的类为抽象类,抽象类是 阅读全文
posted @ 2019-10-02 11:20 狂奔~ 编辑
摘要:联编是指一个程序模块、代码之间相互关联的过程。 静态联编,是程序的匹配、链接在编译阶段实现,也称早期匹配。重载函数就使用静态联编。编译的阶段 动态联编是指程序联编推迟到运行时候进行,又称晚期匹配。switch、if语句就是动态联编的例子。执行的阶段 阅读全文
posted @ 2019-10-01 20:42 狂奔~ 编辑
摘要:https://blog.csdn.net/K346K346/article/details/82748163 https://www.jianshu.com/p/b56d59f77d53 https://www.cnblogs.com/my_life/articles/10132060.html 阅读全文
posted @ 2019-09-30 16:12 狂奔~ 编辑
摘要:原文地址:https://blog.csdn.net/to_baidu/article/details/53763683 C++里面为什么有时候在函数声明的时候在后面加throw()关键字? 解释: C++函数后面加关键字throw(something)限制,是对这个函数的异常安全作出限制;这是一种 阅读全文
posted @ 2019-09-23 21:53 狂奔~ 编辑
摘要:C++ 拷贝构造函数 赋值构造函数 拷贝构造函数和赋值构造函数的异同由于并非所有的对象都会使用拷贝构造函数和赋值函数,程序员可能对这两个函数有些轻视。请先记住以下的警告,在阅读正文时就会多心:如果不主动编写拷贝构造函数和赋值函数,编译器将以“位拷贝”的方式自动生成缺省的函数。倘若类中含有指针变量,那 阅读全文
posted @ 2019-09-12 09:36 狂奔~ 编辑
摘要:输出: 阅读全文
posted @ 2019-09-12 09:31 狂奔~ 阅读(170) 评论(0) 推荐(0) 编辑
摘要:Dllmain的作用 原文地址:https://www.cnblogs.com/KunLunSu/p/7435430.html DllMain函数是DLL模块的默认入口点。当Windows加载DLL模块时调用这一函数。系统首先调用全局对象的构造函数,然后调用全局函数 DLLMain。DLLMain函 阅读全文
posted @ 2019-09-05 11:52 狂奔~ 编辑
摘要:如何跨工程(Project)进行源码级调试 在日常工作中,如何跨工程(Project)进行源码级调试这是个无法回避的问题。例如:一个应用程序工程为“prj_A”,一个动态库工程为“prj_B”,“prj_App”工程中使用“prj_B”工程创建的动态库,那如何在调试“prj_App”工程过程中自动进 阅读全文
posted @ 2019-09-02 16:54 狂奔~ 编辑
摘要:本文转载自新浪永远即等待的博客 几个概念: 1、编译:编译器对源文件进行编译,就是把源文件中的文本形式存在的源代码翻译成机器语言形式的目标文件的过程,在这个过程中,编译器会进行一系列的语法检查。如果编译通过,就会把对应的CPP转换成OBJ文件。 2、编译单元:根据C++标准,每一个CPP文件就是一个 阅读全文
posted @ 2019-09-02 15:26 狂奔~ 编辑
摘要:LoadLibrary加载动态库失败的可能原因以及解决方案: (1)dll动态库文件路径不对。此场景细分为以下几种情况: 1.1 文件路径的确错误。比如:本来欲加载的是A文件夹下的动态库a.dll,但是经过仔细排查原因,发现a.dll动态库竟然被拷贝到B文件夹下去了。 若真遇到这种低级错误,建议你找 阅读全文
posted @ 2019-08-18 11:30 狂奔~ 编辑
摘要:c/c++ console(控制台)编程详解 原文地址:https://www.cnblogs.com/flowingwind/p/8159035.html 前言: 控制台文本窗口的控制是基于win32 api(win32 api可理解为微软给我们提供的一系列函数的集合)实现的; 例1: #incl 阅读全文
posted @ 2019-08-07 14:17 狂奔~ 编辑
摘要:可变参数模板 原文链接: http://blog.csdn.net/xiaohu2022/article/details/69076281 普通模板只可以采取固定数量的模板参数。然而,有时候我们希望模板可以接收任意数量的模板参数,这个时候可以采用可变参数模板。对于可变参数模板,其将包含至少一个模板参 阅读全文
posted @ 2019-07-28 17:31 狂奔~ 编辑

点击右上角即可分享
微信分享提示