KMP算法: kmp示例代码: kmp算法是用来找模式串是否在主串中出现,并返回第一次出现的位置。(模式串一般都比主串长度短,求的是模式串在主串中是否出现) 它有一个数组next[len](len是ptr字符串的长度),next[i]这里面放的是模式串的前i个字符的最长公共前后缀。(前缀不包括第i个 ...
分类:
其他好文 时间:
2019-10-06 11:09:55
阅读次数:
97
一. make系列函数 (一)三个make函数 1. std::make_shared:用于创建shared_ptr。GCC编译器中,其内部是通过调用std::allocate_shared来实现的。 2. std::make_unique:C++14中加入标准库。 3. std::allocate ...
分类:
其他好文 时间:
2019-10-05 22:25:39
阅读次数:
129
一. weak_ptr的概况 (一)weak_ptr的创建 1. 直接初始化:weak_ptr<T> wp(sp); //其中sp为shared_ptr类型 2. 赋值: wp1 = sp; //其中sp为shared_ptr类型 wp2 = wp1; //其中wp1为weak_ptr类型 (二)常 ...
分类:
其他好文 时间:
2019-10-05 01:06:44
阅读次数:
136
一. shared_ptr的基本用法 (一)与unique_ptr的比较 比较 shared_ptr unique_ptr 备注 初始化 ①shared_ptr<T> sp; sp.reset(new T()); ②shared_ptr<T> sp(new T()); ③shared_ptr<T> ...
分类:
其他好文 时间:
2019-10-04 16:52:00
阅读次数:
164
if语句的反汇编判断 if语句的反汇编判断基本是围绕JCC指令的,如果想要有深刻的理解,可以自行练习JCC指令 执行各类影响标志位的指令 jxx xxxx 1、案例一 mov eax,dword ptr [ebp+8] 分析:cmp指令 影响标志位 cmp eax,dword ptr [ebp+0C ...
分类:
其他好文 时间:
2019-10-04 09:48:31
阅读次数:
238
一. unique_ptr的基本用法 (一)初始化方式 1. 直接初始化:unique<T> myPtr(new T); //ok。但不能通过隐式转换来构造,如unique<T> myPtr = new T()。因为unique_ptr构造函数被声明为explicit。 2. 移动构造:unique ...
分类:
其他好文 时间:
2019-10-03 12:58:41
阅读次数:
114
在三种情况下,会以一个object的内容作为另一个class object的初值:object明确初始化123class {...};X x;X xx = x;object被当作参数交与某个函数12345extern void foo(X x);void bar(){ X xx; foo(xx);}... ...
分类:
其他好文 时间:
2019-10-02 21:04:08
阅读次数:
134
简介 C++没有内存自动回收机制,对堆内存的管理就是简单的new和delete,每次new出来的内存都需要手动delete释放。但由于忘记、流程复杂或者异常退出等,都有可能导致没有执行delete释放内存,造成内存泄漏。 在实际工程中,我们往往希望将精力放在应用层上而不是费劲心思处理语言的细枝末节( ...
分类:
其他好文 时间:
2019-09-29 12:30:23
阅读次数:
67
一、gdb中宏定义 macro define list_entry(ptr, type, member) ((type )( (char )ptr (unsigned long)(&((type )0) member))) 二、gdb中变量定位 set $i = 0 注: 操作符左右两端可以带空格; ...
分类:
数据库 时间:
2019-09-24 12:05:40
阅读次数:
124