前两天的电话面试中被问到智能指针的概念,完全答不上来。特意回来了解了一下,总结了一些智能指针的用法。之后再接着写C++的多线程。 为什么要使用智能指针? 一般来说在C++中新建指针都会使用new来新建一个被指向的对象。由于是程序员指定的内存分配,因此也必须要由程序员通过delete手动释放掉。但是总 ...
分类:
编程语言 时间:
2019-05-21 00:16:46
阅读次数:
181
/***auto 会去掉顶层const 和 & 而decltype 不会***/ //什么是顶层? const int x=0, *ptr = x; auto i = ptr; //i is int * decltype(i) is const int * int i = 42, *p = &i, ... ...
分类:
其他好文 时间:
2019-05-18 15:53:29
阅读次数:
119
[TOC] KMP算法 基本思想 算法由两部分组成 1. 计算ptr每一位及之前的字符串中,前缀和后缀公共部分的最大长度的next数组 2. 匹配ptr和str,当ptr失配时,利用next数组,实现ptr的最大后移,从而避免不必要的匹配,减少匹配次数 计算next数组 前缀和后缀公共部分的最大长度 ...
分类:
编程语言 时间:
2019-05-17 13:56:30
阅读次数:
158
intro 先前基于GDI已经能够显示BITMAP图像: "windows下控制台程序实现窗口显示" ,其中BMP图像是使用 这一Win32 API函数来做的。考虑到 函数并不能读取png图像,因此需要libpng或stb等png编解码库的帮助。 网上找到相关代码不多,稍加修改可以运行,具备特点: ...
分类:
其他好文 时间:
2019-05-11 23:24:28
阅读次数:
204
内存管理的功能特点 RT-Thread 操作系统在内存管理上,根据上层应用及系统资源的不同,有针对性地提供了不同的内存分配管理算法。总体上可分为两类:内存堆管理与内存池管理,而内存堆管理又根据具体内存设备划分为三种情况: RT-Thread 操作系统在内存管理上,根据上层应用及系统资源的不同,有针对 ...
分类:
其他好文 时间:
2019-05-07 01:41:48
阅读次数:
161
linux listc 1. container_of#define container_of(ptr, type, member) /({ / const typeof( ((type *)0)->member ) *__mptr = (ptr... ...
分类:
系统相关 时间:
2019-05-03 18:31:21
阅读次数:
170
1. 几种智能指针 1. auto_ptr: c++11中推荐不使用他(放弃) 2. shared_ptr: 每添加一次引用 就+1,减少一次引用,就-1;做到指针进行共享 3. unique_ptr: 一个指针同时只能有一个使用者使用 4. weaked_ptr: 与shared_ptr搭配使用 ...
分类:
编程语言 时间:
2019-05-02 21:48:23
阅读次数:
209
1. 几种智能指针 1. auto_ptr: c++11中推荐不使用他 2. shared_ptr: 每添加一次引用 就+1,减少一次引用,就-1;做到指针进行共享 3. unique_ptr: 一个指针同时只能有一个使用者使用 4. weaked_ptr: 与shared_ptr搭配使用 1.1 ...
分类:
编程语言 时间:
2019-04-30 01:18:33
阅读次数:
152
这次参加比赛总共出了三道,有两道队友都先交了,还是tcl,heap_master卡了差不多一天没解决。。。。还是记录一下出的题目吧 quicksort 题目大体流程就是输入要输入的数字数量,然后输入数字,经过一个快速排序输出,然后结束。 漏洞: gets函数这里存在栈溢出,可以覆盖i,j,ptr,n ...
分类:
系统相关 时间:
2019-04-29 12:15:28
阅读次数:
225
原文地址:https://www.jianshu.com/p/71189056556d 时间限制:1秒 空间限制:32768K 题目描述 输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。 我的代码 运行时间:3ms 占用内存:476k 运行时间:4ms 占用内存:484k ...
分类:
其他好文 时间:
2019-04-27 22:50:33
阅读次数:
211