<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_40945306的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_40945306</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_40945306]]></copyright><item><title><![CDATA[网页新增导出pdf功能实现方式]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/138160156</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/138160156</guid><author>qq_40945306</author><pubDate>Wed, 24 Apr 2024 16:44:38 +0800</pubDate><description><![CDATA[前端网页新增导出pdf功能实现方式]]></description><category></category></item><item><title><![CDATA[Redis集群部署]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/138156077</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/138156077</guid><author>qq_40945306</author><pubDate>Wed, 24 Apr 2024 13:34:05 +0800</pubDate><description><![CDATA[redis集群部署（虚拟机三主三从）]]></description><category></category></item><item><title><![CDATA[mongodb集群部署以及springdata操作mongodb]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/138149485</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/138149485</guid><author>qq_40945306</author><pubDate>Wed, 24 Apr 2024 11:25:49 +0800</pubDate><description><![CDATA[mongodb集群部署以及springdata操作mongodb]]></description><category></category></item><item><title><![CDATA[面向对象设计原则和常用设计模式简单案例]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/102544591</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/102544591</guid><author>qq_40945306</author><pubDate>Mon, 14 Oct 2019 11:40:38 +0800</pubDate><description><![CDATA[文章目录面向对象设计原则创建型模型简单工厂模式工厂方法模式抽象工厂模式单例模式结构型模型代理模式装饰模式外观模式(facade)适配器模式行为型模式模板方法策略模式命令模式观察者模式
面向对象设计原则

依赖倒置原则（DIP）
1.高层模块（稳定）不应该依赖于低层模块（变化），二者都应该依赖于抽象（稳定）。
2.抽象（稳定）不应该依赖于实现细节（变化），实现细节应该于抽象（稳定）。
开发封闭原则（...]]></description><category></category></item><item><title><![CDATA[C++实现外部排序（置换-选择排序+败者树+最佳归并树），其中最佳归并树使用STL priority_queue实现]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/101750027</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/101750027</guid><author>qq_40945306</author><pubDate>Mon, 30 Sep 2019 08:33:13 +0800</pubDate><description><![CDATA[1.具体概念细节可以参考博文（外部排序，置换-选择排序，败者树，最佳归并树）


http://data.biancheng.net/view/76.html


2.C++实现

头文件


#pragma once

#include&lt;iostream&gt;
#include&lt;fstream&gt;
#include&lt;sstream&gt;
#include&lt;stri...]]></description><category></category></item><item><title><![CDATA[C#反射使用]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/100915180</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/100915180</guid><author>qq_40945306</author><pubDate>Tue, 17 Sep 2019 09:06:37 +0800</pubDate><description><![CDATA[例如一个A类有d1,c1,d2,c2,d3,c3,d4,c4,d5,c5...属性，一个B类有d,c属性。下面实例一个A类对象a，要将对应的d,c属性存入到实例的B类对象b1,b2,b3,b4,b5...中。


List&lt;B&gt; list = new List&lt;B&gt;();
for(int i=1;i&lt;n;i++)
{
    B b = new b();
    st...]]></description><category></category></item><item><title><![CDATA[C++实现内部排序算法(包含直接插入排序，折半插入排序，希尔排序，冒泡排序，快速排序，选择排序，堆排序，归并排序，基数排序）]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/100655524</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/100655524</guid><author>qq_40945306</author><pubDate>Mon, 09 Sep 2019 12:44:04 +0800</pubDate><description><![CDATA[1.直接插入排序。其中len的值为待排序数的长度+1，数组第一个空间用作辅助。基本思想：直接插入排序其基本操作就是将一条记录插入到已排好的有序表中，从而得到一个新的、记录数量增1的有序表。这里就是将待排序的数插入已排序好的序列中从而实现排序。


void Sort::InsertSort() {
	int i, j;
	for (i = 2; i&lt;this-&gt;len; i++) {
...]]></description><category></category></item><item><title><![CDATA[函数指针的简单使用]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/94657880</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/94657880</guid><author>qq_40945306</author><pubDate>Thu, 04 Jul 2019 21:41:23 +0800</pubDate><description><![CDATA[int func(int a, int b){
	cout&lt;&lt;"func"&lt;&lt;endl;
}
//定义一个函数类型
typedef int(MY_FUNC)(int ,int);
//定义一个指向一种函数类型的指针类型
typedef int(MY_FUNC_P)(int ,int);
int main(){
	MY_FUNC *fp = func;
	fp(10,20)...]]></description><category></category></item><item><title><![CDATA[内联函数]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/94653805</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/94653805</guid><author>qq_40945306</author><pubDate>Thu, 04 Jul 2019 21:05:02 +0800</pubDate><description><![CDATA[内联函数声明时inline关键字必须和函数定义结合在一起，否则编译器会直接忽略内联请求。
	C++编译器直接将函数体插入在函数调用的地方。
	内联函数没有普通函数调用时的额外开销（压栈，跳转，返回）。
	内联函数是一种特殊的函数具有普通函数的特征（参数检查，返回类型等）。
	内联函数由编译器处理直接将编译后的函数体插入调用的地方，宏代码片段由预处理器处理，进行简单的文本替换没有任何编译的过程。
	...]]></description><category></category></item><item><title><![CDATA[二级指针的应用场景之一：在函数外定义指针，在函数中对指针进行赋值，函数调用结束后，实现指针赋值；指针引用代替二级指针实现函数内指针赋值。]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/94589509</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/94589509</guid><author>qq_40945306</author><pubDate>Wed, 03 Jul 2019 20:46:19 +0800</pubDate><description><![CDATA[函数内二级指针完成函数外定义指针赋值：


struct teacher{
	int id;
	char name[64];
};

int get_mem(struct teacher **tpp){
	struct teacher *tp = NULL;
	tp = (struct teacher*)malloc(sizeof(struct teacher));
	if(tp == NULL...]]></description><category></category></item><item><title><![CDATA[当函数的返回值为引用时，不要返回局部变量的引用，可以返回全局变量的引用。]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/94547876</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/94547876</guid><author>qq_40945306</author><pubDate>Wed, 03 Jul 2019 10:32:02 +0800</pubDate><description><![CDATA[返回局部变量引用时，如果在函数外使用引用变量接收，会遇到它在栈上被释放的弊端。


int&amp; getA(){
	int a=10;
	return a;
}
int main(){
	int &amp;re = getA();
	cout&lt;&lt;re&lt;&lt;endl;
	cout&lt;&lt;"----------------------"&lt;&lt;endl;
	c...]]></description><category></category></item><item><title><![CDATA[const int *p和 int * const p区别]]></title><link>https://blog.youkuaiyun.com/qq_40945306/article/details/94437121</link><guid>https://blog.youkuaiyun.com/qq_40945306/article/details/94437121</guid><author>qq_40945306</author><pubDate>Tue, 02 Jul 2019 12:53:21 +0800</pubDate><description><![CDATA[const int *p ： p 是一个指向常整型数的指针；指针指向内存数据不可修改，指针本身可以修改。

int *const p： p是一个常指针；指针指向内存数据可修改，指针本身不可以修改。


...]]></description><category></category></item></channel></rss>