- 博客(24)
- 资源 (1)
- 收藏
- 关注
原创 C++ STL容器 map禁止自动排序
背景:key-value形式的数据,已经使用了map存储,后来要求读取时的顺序要和插入的顺序一致 方案一、再定义个数组,按顺序保存key (推荐) 方案二、map更换为unordered_map (经验证,此方案不可行) 方案三、禁止map自动排序 (map.find方法不可用,插入时不能使用insert)其实正常来说方案一应该是最好的选择,但由于方案一的改动量比较大,本人又比较懒(主要原因),而且场景也很特殊,并没有用到map.find方法所以先选择了方案二,以前知道unorde...
2020-08-20 12:03:37
9761
5
原创 Linux C 多线程
最近优化了一个程序,使其从单线程处理变为多线程处理线程为常驻线程简单写了一个例子编译:gcc testthread.c -otest -lpthread 注意编译的时候一定要加-lpthread
2019-03-27 17:24:04
305
原创 C/C++ 简单拆分字符串使用函数包括strstr, strcspn, strrchr
strstr, strcspn, strrchr函数的简单应用待拆分字符串: http://www.xxx.com|http://www.yyy.com:88拆分结果: http://www.xxx.com:0 http://www.yyy.com:88
2018-11-27 17:51:35
603
原创 C++ 多线程 CreateThread函数使用例
#include <stdlib.h>#include <iostream>#include <list>#include <conio.h>#include <time.h>#include <algorithm>#include <windows.h>//头文件引用较多, 有一些与本程序无关
2016-10-11 10:03:06
28009
原创 C++ volatile类型修饰符(type specifier), 多线程
volatile是被设计用来修饰被不同线程访问和修改的变量volatile的作用是: 作为指令关键字,确保本条指令不会因编译器的优化而省略,且要求每次直接读值.一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。以上内容摘自百度百科但请注意 : volatile不是用来解决多线程竞争问题的
2016-08-29 15:57:37
946
原创 C++ Lambda表达式(还是比较习惯叫匿名函数)
不太情愿, 但不得不承认, 我是最近才知道Lambda这个词(前几天丢人丢大了), 这是作为一个程序猿的失职, 虽然很早以前就听说过"匿名函数"一词, 这里记下, 引以为戒.Lambda表达式, 又称匿名函数:[capture](parameters) mutable ->return-type{statement}
2016-07-18 11:04:30
2459
5
原创 简单Windows控制台贪吃蛇(二维数组模拟地图, 链表模拟贪吃蛇, WASD控制行走, gotoxy替换刷新操作)
二维数组模拟地图, 链表模拟贪吃蛇, WASD控制行走, gotoxy替换刷新操作
2016-07-07 16:29:47
1721
原创 宏函数
在编译预处理时,对程序中所有出现的“宏名”,都用宏定义中的字符串去代换,这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。若字符串是表达式,我们称之为函数式宏定义(宏函数)。
2016-05-16 11:29:24
872
原创 C++ 类的三种构造函数(默认构造,拷贝构造,赋值构造),在什么情况下会被调用
用什么方式实例化一个类会调用什么构造函数.其实是很简单很基础的问题,只不过越是简单的问题在关键的时候越容易出问题,在这里记下,省得每次都要试.
2016-04-19 14:26:35
1076
原创 C++ cin.getline()函数的使用
cin.getline()函数作用:接收一个字符串,可以接收空格头文件:#include <iostream>使用例:
2016-02-17 11:03:06
1821
原创 C 冒泡排序 冒泡排序的优化
本文包含冒泡排序的三种实现方式分别为冒泡排序初级版,升级版,终级版(自己起的名字)使用时只要使用终极版就本以了,终级版为升级版的优化版本至于初极版和升级版只是为了帮助理解冒泡排序的时间复杂度为O(n²)
2016-01-07 14:33:24
1659
原创 C/C++ 快速排序,插入排序
本文包含: 取随机数(random函数) 快速排序(qSort函数) 快速排序的优化 - 数量少的时候使用插入排序,尾递归优化(qSort1函数) 插入排序 - 0位置使用"哨兵"小技巧提高效率(insertSort函数)
2016-01-04 12:03:39
632
原创 C 拆分字符串(strtok,strsep)
C 拆分字符串(strtok,strsep)头文件string.hstrtok是标准C函数strsep是strtok的升级版,但是不支持WINDOWS C函数原型啥的我就不往上粘了,直接上例子
2015-12-31 16:04:45
4961
原创 C/C++ 输入一个数 判断是否是素数
判断一个数是否是素数的小程序, 顺便试验了一下, cin.fail(), cin.clear(), cin.sync()这三个函数
2015-12-31 11:30:29
9016
原创 C++ 类的多态(方法的重载与继承)
方法被重载后会根据参数的类型自动调用相应的方法子类重写了父类的抽象方法后,除非直接实例化父类,要不然后子类的方法会覆盖父类的方法
2015-03-06 11:38:56
463
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人