<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_37667464的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_37667464</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_37667464]]></copyright><item><title><![CDATA[排序]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/88293551</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/88293551</guid><author>qq_37667464</author><pubDate>Thu, 07 Mar 2019 11:34:40 +0800</pubDate><description><![CDATA[#include &amp;lt;stdio.h&amp;gt;
void my_print(int *a,int len)
{
	int i;
	for(i = 0;i&amp;lt;len;i++)
	{
		printf(&quot;%-4d&quot;,a[i]);
	}
	printf(&quot;\n&quot;);
}

void my_swap(int *a,int i,int j)
{
	int tmp = a[i];
	a[i] = a[j...]]></description><category></category></item><item><title><![CDATA[C++ 组合模式]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86682026</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86682026</guid><author>qq_37667464</author><pubDate>Mon, 28 Jan 2019 19:56:23 +0800</pubDate><description><![CDATA[
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;list&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;algorithm&amp;gt;
using namespace std;
class IFile
{
public:

    virtual ~IFile(){}
    virtual void show() = 0;
    ...]]></description><category></category></item><item><title><![CDATA[C++抽象工厂]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86670016</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86670016</guid><author>qq_37667464</author><pubDate>Sun, 27 Jan 2019 21:40:01 +0800</pubDate><description><![CDATA[#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;
using namespace std;

// 抽象工厂模式
// 衣服的基类
class Clothes
{
public:
    virtual void show() = 0;
};

class AD_T_shirt:public Clothes
{
public:
    void s...]]></description><category></category></item><item><title><![CDATA[C++ 单例设计模式]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86661044</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86661044</guid><author>qq_37667464</author><pubDate>Sat, 26 Jan 2019 21:00:45 +0800</pubDate><description><![CDATA[#include &amp;lt;iostream&amp;gt;

using namespace std;

// 单例模式 --- 懒汉式
class Singleton
{
private:
    Singleton()
    {

    }
public:
    static Singleton* GetInstance()
    {
        if (m_instance == nul...]]></description><category></category></item><item><title><![CDATA[丑数]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86651636</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86651636</guid><author>qq_37667464</author><pubDate>Fri, 25 Jan 2019 20:36:16 +0800</pubDate><description><![CDATA[把只包含质因子2、3和5的数称作丑数（Ugly Number）。例如6、8都是丑数，但14不是，因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
根据丑数的定义，丑数应该是另一个丑数乘以2、3、5的结果(1除外）。因此我们可以创建一个数组，里面的数字是排好序的丑数，每一个丑数都是前面的丑数乘以2、3或者5得到的。
这种思路的关键在于怎样确保数组里面的丑数是排好...]]></description><category></category></item><item><title><![CDATA[C++文件操作]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86633122</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86633122</guid><author>qq_37667464</author><pubDate>Thu, 24 Jan 2019 20:56:00 +0800</pubDate><description><![CDATA[1.ofstream fout(&quot;aa&quot;); 写文件操作 写的文件是aa
2.ifstream

写二进制文件
ofstream fout(&quot;bb&quot;,ios::binary);


#include &amp;lt;iostream&amp;gt;

using namespace std;

int main1(int argc, char *argv[])
{
    char buf[100];
    w...]]></description><category></category></item><item><title><![CDATA[进程间通信方式]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86618321</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86618321</guid><author>qq_37667464</author><pubDate>Wed, 23 Jan 2019 21:55:17 +0800</pubDate><description><![CDATA[进程间通信方式
(1)管道：管道是单向的、先进先出的，它把一个进程的输出和另一个进程的输入连接在一起。一个进程（写进程）在管道尾部写入数据，另一个进程（读进程）从管道的头部读出数据。
管道包括无名管道和有名管道两种，前者用于父进程和子进程间的通信，后者可用于运行于同一系统中的任意两个进程间的通信。
(2)共享内存：共享内存是被多个进程共享的一部分物理内存。共享内存是进程间共享数据的一种最快的方法，...]]></description><category></category></item><item><title><![CDATA[C++ map]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86599515</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86599515</guid><author>qq_37667464</author><pubDate>Tue, 22 Jan 2019 18:43:37 +0800</pubDate><description><![CDATA[map ：键值对
map&amp;lt;int,string&amp;gt; m;
mp.insert(make_pair(1,“faith1”));
mp.insert(pair&amp;lt;int,string&amp;gt;(3,“faith3”));
mp.insert(map&amp;lt;int,string&amp;gt;::value_type(2,“faith2”));
mp[4] = “faith4”;
insert是函数...]]></description><category></category></item><item><title><![CDATA[C++ deque,list]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86582322</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86582322</guid><author>qq_37667464</author><pubDate>Mon, 21 Jan 2019 18:45:09 +0800</pubDate><description><![CDATA[链表特性：
1.l.reverse()  //逆序
2.链表不支持迭代器的随机访问
it++;可以
it+1;不行

3.可以直接删除值，删掉所有特定值的元素
l.remove(2)；


#include &amp;lt;iostream&amp;gt;

#include &amp;lt;algorithm&amp;gt;
#include &amp;lt;string&amp;gt;
#include &amp;lt;deque&amp;gt;
#inc...]]></description><category></category></item><item><title><![CDATA[STL标准模板库]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86566075</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86566075</guid><author>qq_37667464</author><pubDate>Sun, 20 Jan 2019 20:56:53 +0800</pubDate><description><![CDATA[1.算法,容器,仿函数,适配器,迭代器
容器:类模板 ----&amp;gt;各种各样的数据结构
算法：函数模板----&amp;gt;100+算法如统计，排序，遍历等
迭代器：对容器中元素提供统一的遍历方式
大部分容器都有属于自己的迭代器
有迭代器的容器都有两个基本方法：
1.begin()函数：返回指向第一个元素的迭代器
2.end()函数：返回指向最后一个元素的下一个元素的迭代器
迭代器可以近似当做一个指针...]]></description><category></category></item><item><title><![CDATA[Linux探秘之用户态与内核态]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86556779</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86556779</guid><author>qq_37667464</author><pubDate>Sat, 19 Jan 2019 20:56:09 +0800</pubDate><description><![CDATA[一、 Unix/Linux的体系架构

如上图所示，从宏观上来看，Linux操作系统的体系架构分为用户态和内核态（或者用户空间和内核）。内核从本质上看是一种软件——控制计算机的硬件资源，并提供上层应用程序运行的环境。用户态即上层应用程序的活动空间，应用程序的执行必须依托于内核提供的资源，包括CPU资源、存储资源、I/O资源等。为了使上层应用能够访问到这些资源，内核必须为上层应用提供访问的接口：即系...]]></description><category></category></item><item><title><![CDATA[C++多继承]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86555584</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86555584</guid><author>qq_37667464</author><pubDate>Sat, 19 Jan 2019 18:56:52 +0800</pubDate><description><![CDATA[1.多继承中类型兼容性原则依然适用
2.多继承的二义性:通过类名和域解析符解决
#include &amp;lt;iostream&amp;gt;

using namespace std;
// 多继承
class Parent1
{
public:
    int a;
    int b;
};

class Parent2
{
public:
    int a;
    int d;
};

class...]]></description><category></category></item><item><title><![CDATA[getchar和getch]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86535127</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86535127</guid><author>qq_37667464</author><pubDate>Fri, 18 Jan 2019 10:12:15 +0800</pubDate><description><![CDATA[1.getchar();从键盘读取一个字符并输出，该函数的返回值是输入第一个字符的ASCII码；若用户输入的是一连串字符，函数直到用户输入回车时结束，输入的字符连同回车一起存入键盘缓冲区。若程序中有后继的getchar();函数，则直接从缓冲区逐个读取已输入的字符并输出，直到缓冲区为空时才重新读取用户的键盘输入。
2.getch();接受一个任意键的输入，不用按回车就返回。该函数的返回值是所输入字...]]></description><category></category></item><item><title><![CDATA[C++栈]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86526249</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86526249</guid><author>qq_37667464</author><pubDate>Thu, 17 Jan 2019 16:06:15 +0800</pubDate><description><![CDATA[首先看一下原c++栈的方法的基本用法：
push(): 向栈内压入一个成员；
pop(): 从栈顶弹出一个成员；
empty(): 如果栈为空返回true，否则返回false；
top(): 返回栈顶，但不删除成员；
size(): 返回栈内元素的大小
#include&amp;lt;iostream&amp;gt;
#include&amp;lt;stack&amp;gt;
using namespace std;

int ...]]></description><category></category></item><item><title><![CDATA[C++继承]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86497363</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86497363</guid><author>qq_37667464</author><pubDate>Tue, 15 Jan 2019 18:38:37 +0800</pubDate><description><![CDATA[一、继承
一个类从另一个类获取成员函数和成员变量的过程--------------&amp;gt;代码复用
语法：
继承： class 新类：访问控制 要继承的类；
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstring&amp;gt;
using namespace std;

class Animal
{
public:
    void sleep()
    {
  ...]]></description><category></category></item><item><title><![CDATA[C++友元]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86482311</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86482311</guid><author>qq_37667464</author><pubDate>Mon, 14 Jan 2019 19:03:23 +0800</pubDate><description><![CDATA[友元:可以访问类的私有成员
友元函数:如果有一个函数是类A的友元函数,则该函数可以使用A中的所有成员
友元声明:在类中写上函数声明,在函数声明前加friend
使用注意:
1.友元的声明不受访问控制符限制,可以放在类的任意位置
2友元函数不是类的成员函数,是外部函数,没有this指针
3.友元破坏了类的封装性,慎用（尽量不用）
友元类:
如果类A是类B的友元类,则类A中所有函数都是类B的友元函数....]]></description><category></category></item><item><title><![CDATA[链表]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86424856</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86424856</guid><author>qq_37667464</author><pubDate>Sun, 13 Jan 2019 16:54:16 +0800</pubDate><description><![CDATA[#include &amp;lt;iostream&amp;gt;
#include &amp;lt;cstring&amp;gt;
using namespace std;
struct DATA
{
    int id;
    char name[20];
};

struct Node
{
    DATA data;
    struct Node* next;
};
Node* Create(Node** head...]]></description><category></category></item><item><title><![CDATA[进程线程的区别]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86422083</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86422083</guid><author>qq_37667464</author><pubDate>Sun, 13 Jan 2019 16:00:10 +0800</pubDate><description><![CDATA[
进程线程的区别  僵尸进程

进程是表示资源分配的基本单位，又是调度运行的基本单位。从内核的观点看，进程的目的就是担当分配系统资源（CPU时间、内存等）的基本单位。
线程是进程中执行运算的最小单位，亦即执行处理机调度的基本单位。如一个进程由几个线程组成（拥有很多相对独立的执行流的用户程序共享应用程序的大部分数据结构），
线程与同属一个进程的其他的线程共享进程所拥有的全部资源。
“进程——资源分配...]]></description><category></category></item><item><title><![CDATA[C++对象初始化列表]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86371707</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86371707</guid><author>qq_37667464</author><pubDate>Sat, 12 Jan 2019 19:16:03 +0800</pubDate><description><![CDATA[对象初始列表：
构造函数后加 : 后面接上要初始化的成员，各个成员之间以逗号进行区分。
1.对象初始化列表的执行顺序要优先于构造函数。
2.对象初始化顺序和对象在初始化列表中所在位置无关，和在类中的声明顺序有关。
#include 
using namespace std;
class Test2
{
public:
Test2():m_a(10),m_b(99)
{
cout&amp;lt;&amp;lt;“a...]]></description><category></category></item><item><title><![CDATA[C++构造函数，析构函数]]></title><link>https://blog.youkuaiyun.com/qq_37667464/article/details/86314399</link><guid>https://blog.youkuaiyun.com/qq_37667464/article/details/86314399</guid><author>qq_37667464</author><pubDate>Fri, 11 Jan 2019 19:37:20 +0800</pubDate><description><![CDATA[构造函数:在创建对象时系统自动调用的函数===&amp;gt;初始化对象
如果类中一个构造函数都没有，系统会自动添加一个无参构造函数
特点:1.构造函数的函数与类名相同。
2.无返回值
3.构造函数可以重载
（1）如果某个构造函数被调用了，则一定是有一个新对象创建
（2）如果创建一个新的对象，必定会调用某个构造函数
调用方法
1.使用括号进行赋值
Test t(10);
2.等号法
Test t1 = T...]]></description><category></category></item></channel></rss>