<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[任飘萍的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/w442863748</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; w442863748]]></copyright><item><title><![CDATA[C++ STL容器 map禁止自动排序]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/108119944</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/108119944</guid><author>w442863748</author><pubDate>Thu, 20 Aug 2020 12:03:37 +0800</pubDate><description><![CDATA[背景：key-value形式的数据，已经使用了map存储，后来要求读取时的顺序要和插入的顺序一致

 方案一、再定义个数组，按顺序保存key （推荐）

 方案二、map更换为unordered_map （经验证，此方案不可行）

 方案三、禁止map自动排序 （map.find方法不可用，插入时不能使用insert）

其实正常来说方案一应该是最好的选择，但由于方案一的改动量比较大，本人又比较懒（主要原因），而且场景也很特殊，并没有用到map.find方法

所以先选择了方案二，以前知道unorde...]]></description><category></category></item><item><title><![CDATA[Linux C 多线程]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/88850293</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/88850293</guid><author>w442863748</author><pubDate>Wed, 27 Mar 2019 17:24:04 +0800</pubDate><description><![CDATA[最近优化了一个程序，使其从单线程处理变为多线程处理

线程为常驻线程

简单写了一个例子

编译：gcc testthread.c -otest -lpthread 

注意编译的时候一定要加-lpthread]]></description><category></category></item><item><title><![CDATA[C/C++ 简单拆分字符串使用函数包括strstr, strcspn, strrchr]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/84570564</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/84570564</guid><author>w442863748</author><pubDate>Tue, 27 Nov 2018 17:51:35 +0800</pubDate><description><![CDATA[strstr, strcspn, strrchr函数的简单应用
待拆分字符串: http://www.xxx.com|http://www.yyy.com:88
拆分结果:
    http://www.xxx.com:0
    http://www.yyy.com:88]]></description><category></category></item><item><title><![CDATA[C++ 自制string的format函数]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/52954037</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/52954037</guid><author>w442863748</author><pubDate>Fri, 28 Oct 2016 10:33:04 +0800</pubDate><description><![CDATA[C++ 自制string的format函数]]></description><category></category></item><item><title><![CDATA[C++ 多线程 CreateThread函数使用例]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/52785486</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/52785486</guid><author>w442863748</author><pubDate>Tue, 11 Oct 2016 10:03:06 +0800</pubDate><description><![CDATA[
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;list&amp;gt;
#include &amp;lt;conio.h&amp;gt;
#include &amp;lt;time.h&amp;gt;
#include &amp;lt;algorithm&amp;gt;
#include &amp;lt;windows.h&amp;gt;
//头文件引用较多, 有一些与本程序无关

]]></description><category></category></item><item><title><![CDATA[C++ volatile类型修饰符(type specifier), 多线程]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/52350582</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/52350582</guid><author>w442863748</author><pubDate>Mon, 29 Aug 2016 15:57:37 +0800</pubDate><description><![CDATA[volatile是被设计用来修饰被不同线程访问和修改的变量
volatile的作用是： 作为指令关键字，确保本条指令不会因编译器的优化而省略，且要求每次直接读值.
一个定义为volatile的变量是说这变量可能会被意想不到地改变，这样，编译器就不会去假设这个变量的值了。精确地说就是，优化器在用到这个变量时必须每次都小心地重新读取这个变量的值，而不是使用保存在寄存器里的备份。
以上内容摘自百度百科
但请注意 : volatile不是用来解决多线程竞争问题的]]></description><category></category></item><item><title><![CDATA[C++ Lambda表达式(还是比较习惯叫匿名函数)]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/51919534</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/51919534</guid><author>w442863748</author><pubDate>Mon, 18 Jul 2016 11:04:30 +0800</pubDate><description><![CDATA[不太情愿, 但不得不承认, 我是最近才知道Lambda这个词(前几天丢人丢大了), 这是作为一个程序猿的失职, 虽然很早以前就听说过"匿名函数"一词, 这里记下, 引以为戒.
Lambda表达式, 又称匿名函数:
[capture](parameters) mutable ->return-type{statement}]]></description><category></category></item><item><title><![CDATA[简单Windows控制台贪吃蛇(二维数组模拟地图, 链表模拟贪吃蛇, WASD控制行走, gotoxy替换刷新操作)]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/51852306</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/51852306</guid><author>w442863748</author><pubDate>Thu, 07 Jul 2016 16:29:47 +0800</pubDate><description><![CDATA[二维数组模拟地图, 链表模拟贪吃蛇, WASD控制行走, gotoxy替换刷新操作]]></description><category></category></item><item><title><![CDATA[宏函数]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/51423652</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/51423652</guid><author>w442863748</author><pubDate>Mon, 16 May 2016 11:29:24 +0800</pubDate><description><![CDATA[在编译预处理时，对程序中所有出现的“宏名”，都用宏定义中的字符串去代换，这称为“宏代换”或“宏展开”。宏定义是由源程序中的宏定义命令完成的。宏代换是由预处理程序自动完成的。若字符串是表达式，我们称之为函数式宏定义（宏函数）。]]></description><category></category></item><item><title><![CDATA[汉诺塔－递归]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/51423559</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/51423559</guid><author>w442863748</author><pubDate>Mon, 16 May 2016 11:16:57 +0800</pubDate><description><![CDATA[个人理解递归函数的基本要求就是，函数中调用函数本身，满足特定的条件后返回。]]></description><category></category></item><item><title><![CDATA[C++ 类的三种构造函数(默认构造,拷贝构造,赋值构造),在什么情况下会被调用]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/51190087</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/51190087</guid><author>w442863748</author><pubDate>Tue, 19 Apr 2016 14:26:35 +0800</pubDate><description><![CDATA[用什么方式实例化一个类会调用什么构造函数.
其实是很简单很基础的问题,只不过越是简单的问题在关键的时候越容易出问题,在这里记下,省得每次都要试.]]></description><category></category></item><item><title><![CDATA[C/C++ 编程计算2的100万次方（m的n次方）,超长结果输出文件]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/50977435</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/50977435</guid><author>w442863748</author><pubDate>Fri, 25 Mar 2016 10:30:41 +0800</pubDate><description><![CDATA[C/C++ 编程计算2的100万次方（m的n次方）,超长结果输出文件]]></description><category></category></item><item><title><![CDATA[C 不定长参数使用例]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/50731552</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/50731552</guid><author>w442863748</author><pubDate>Wed, 24 Feb 2016 16:07:06 +0800</pubDate><description><![CDATA[C语言，函数不定长参数使用例]]></description><category></category></item><item><title><![CDATA[C++ cin.getline()函数的使用]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/50679060</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/50679060</guid><author>w442863748</author><pubDate>Wed, 17 Feb 2016 11:03:06 +0800</pubDate><description><![CDATA[cin.getline()函数作用：接收一个字符串，可以接收空格
头文件：#include <iostream>
使用例：]]></description><category></category></item><item><title><![CDATA[C++ 输入输出运算符重载]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/50477483</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/50477483</guid><author>w442863748</author><pubDate>Thu, 07 Jan 2016 16:57:00 +0800</pubDate><description><![CDATA[类的输入输出运算符重载必须使用友元函数]]></description><category></category></item><item><title><![CDATA[C 简单选择排序]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/50477129</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/50477129</guid><author>w442863748</author><pubDate>Thu, 07 Jan 2016 16:14:08 +0800</pubDate><description><![CDATA[简单选择排序
时间复杂度O(n²)]]></description><category></category></item><item><title><![CDATA[C 冒泡排序 冒泡排序的优化]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/50476092</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/50476092</guid><author>w442863748</author><pubDate>Thu, 07 Jan 2016 14:33:24 +0800</pubDate><description><![CDATA[本文包含冒泡排序的三种实现方式
分别为冒泡排序初级版,升级版,终级版(自己起的名字)
使用时只要使用终极版就本以了,终级版为升级版的优化版本
至于初极版和升级版只是为了帮助理解
冒泡排序的时间复杂度为O(n²)]]></description><category></category></item><item><title><![CDATA[C/C++ 快速排序,插入排序]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/50455141</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/50455141</guid><author>w442863748</author><pubDate>Mon, 04 Jan 2016 12:03:39 +0800</pubDate><description><![CDATA[本文包含:
	取随机数(random函数)
	快速排序(qSort函数)
	快速排序的优化 - 数量少的时候使用插入排序,尾递归优化(qSort1函数)
	插入排序 - 0位置使用"哨兵"小技巧提高效率(insertSort函数)]]></description><category></category></item><item><title><![CDATA[C 拆分字符串(strtok,strsep)]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/50442095</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/50442095</guid><author>w442863748</author><pubDate>Thu, 31 Dec 2015 16:04:45 +0800</pubDate><description><![CDATA[C 拆分字符串(strtok,strsep)
头文件string.h
strtok是标准C函数
strsep是strtok的升级版,但是不支持WINDOWS C
函数原型啥的我就不往上粘了,直接上例子]]></description><category></category></item><item><title><![CDATA[C/C++ 多种方式进行大小写字母转换]]></title><link>https://blog.youkuaiyun.com/w442863748/article/details/50441288</link><guid>https://blog.youkuaiyun.com/w442863748/article/details/50441288</guid><author>w442863748</author><pubDate>Thu, 31 Dec 2015 14:03:10 +0800</pubDate><description><![CDATA[C/C++ 多种方式进行大小写字母转换]]></description><category></category></item></channel></rss>