<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[iking83的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/iking83</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; iking83]]></copyright><item><title><![CDATA[std::function]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/104259823</link><guid>https://blog.youkuaiyun.com/iking83/article/details/104259823</guid><author>iking83</author><pubDate>Tue, 11 Feb 2020 11:07:32 +0800</pubDate><description><![CDATA[// ConsoleApplication1.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include &lt; iostream&gt;
#include &lt;string&gt;
#include &lt;functional&gt;
using namespace std;

string func(int a, int b)
{
	r...]]></description><category></category></item><item><title><![CDATA[位运算]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/104173268</link><guid>https://blog.youkuaiyun.com/iking83/article/details/104173268</guid><author>iking83</author><pubDate>Tue, 04 Feb 2020 18:44:25 +0800</pubDate><description><![CDATA[318. 最大单词长度乘积

真的感受到了位运算的强大威力。

1.判断一个数字是不是2的幂次方


(i&amp;(i-1)) == 0

(i&amp;(i-1))用来去掉最右面的那个1
]]></description><category></category></item><item><title><![CDATA[关于c++二进制兼容性]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/103964308</link><guid>https://blog.youkuaiyun.com/iking83/article/details/103964308</guid><author>iking83</author><pubDate>Mon, 13 Jan 2020 21:00:37 +0800</pubDate><description><![CDATA[所谓“二进制兼容性”指的就是在升级（也可能是 bug fix）库文件的时候，不必重新编译使用这个库的可执行文件或使用这个库的其他库文件，程序的功能不被破坏。

qt使用d指针就是为了做到二进制兼容性。

参考文章：

https://blog.youkuaiyun.com/mznewfacer/article/details/6976293

https://www.cnblogs.com/Solstice/...]]></description><category></category></item><item><title><![CDATA[万向节锁]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/100179332</link><guid>https://blog.youkuaiyun.com/iking83/article/details/100179332</guid><author>iking83</author><pubDate>Sun, 01 Sep 2019 01:25:47 +0800</pubDate><description><![CDATA[https://baike.baidu.com/item/%E4%B8%87%E5%90%91%E9%94%81/15817326
]]></description><category></category></item><item><title><![CDATA[投影矩阵]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/100178946</link><guid>https://blog.youkuaiyun.com/iking83/article/details/100178946</guid><author>iking83</author><pubDate>Sat, 31 Aug 2019 23:58:40 +0800</pubDate><description><![CDATA[https://blog.youkuaiyun.com/zhanghua1816/article/details/23121735



  http://www.codeguru.com/cpp/misc/misc/math/article.php/c10123__1/Deriving-Projection-Matrices.htm
]]></description><category></category></item><item><title><![CDATA[使用multiset时的一个bug]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/97545317</link><guid>https://blog.youkuaiyun.com/iking83/article/details/97545317</guid><author>iking83</author><pubDate>Sat, 27 Jul 2019 19:28:39 +0800</pubDate><description><![CDATA[自定义类型


class Vector3
{
public:
	double p1;
	double p2;
	double p3;
	Vector3() 
	{
	}

	Vector3(double a, double b, double c)
	{
		p1 = a;
		p2 = b;
		p3 = c;
	}
	bool operator==(const Vector3&amp; t1...]]></description><category></category></item><item><title><![CDATA[设计模式之桥模式]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/85001267</link><guid>https://blog.youkuaiyun.com/iking83/article/details/85001267</guid><author>iking83</author><pubDate>Fri, 14 Dec 2018 12:11:14 +0800</pubDate><description><![CDATA[桥模式用于处理多维度变化

装饰者模式和桥模式区别：

两个模式都是为了解决子类过多问题, 但他们的诱因不同: 
1.桥接模式对象自身有 沿着多个维度变化的趋势 , 本身不稳定; 
2.装饰者模式对象自身非常稳定, 只是为了增加新功能/增强原功能。 

 ...]]></description><category></category></item><item><title><![CDATA[设计模式之装饰模式]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/84992224</link><guid>https://blog.youkuaiyun.com/iking83/article/details/84992224</guid><author>iking83</author><pubDate>Thu, 13 Dec 2018 17:44:12 +0800</pubDate><description><![CDATA[意图：动态地（组合）给一个对象添加一些额外的职责，就增加功能来说，Decorator模式相比生成子类更为灵活（消除重复代码，减少子类 数量）。

在某些情况下我们可能会“过度地使用继承来扩展对象的功能”，由于继承为类型引入的静态特质，使得这种扩展方式缺乏灵活性；并且随着子类的增多（扩展功能的增多），各种子类的组合（扩展功能的组合)会导致更多子类的膨胀。

看下面的代码：


//代码在重复
cla...]]></description><category></category></item><item><title><![CDATA[设计模式之策略模式]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/84947065</link><guid>https://blog.youkuaiyun.com/iking83/article/details/84947065</guid><author>iking83</author><pubDate>Mon, 10 Dec 2018 21:47:06 +0800</pubDate><description><![CDATA[意图：定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。

这个模式很好的诠释了开闭原则：对扩展开放，对修改封闭。

我们可能会遇到如下代码：


enum TexBase{
	CN_Tex,
	US_Tex,
	DE_Tex
};
class SalesOrder
{
	TexBase tax;
public:
	double calculateTex()
	{
		if (tax...]]></description><category></category></item><item><title><![CDATA[设计模式之模板方法]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/84946006</link><guid>https://blog.youkuaiyun.com/iking83/article/details/84946006</guid><author>iking83</author><pubDate>Mon, 10 Dec 2018 21:07:22 +0800</pubDate><description><![CDATA[意图：定义一个操作中算法的框架，而将一些步骤延迟到子类中，TemplateMethod使得子类可以不改变一个算法的结构即可重定义该算法的特定步骤。

 

这个模式充分体现了依赖倒置原则，高层模块不应依赖低层模块，二者都应依赖于抽象。

程序库开发人员和应用程序开发人员经常会有下面代码：


//程序库开发人员（框架开发人员）
class Library
{
public:
	void Step1...]]></description><category></category></item><item><title><![CDATA[什么是好的软件设计？]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/84703410</link><guid>https://blog.youkuaiyun.com/iking83/article/details/84703410</guid><author>iking83</author><pubDate>Sun, 02 Dec 2018 11:27:26 +0800</pubDate><description><![CDATA[什么是好的软件设计？软件设计的金科玉律：复用]]></description><category></category></item><item><title><![CDATA[bmp文件格式解析]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/83586571</link><guid>https://blog.youkuaiyun.com/iking83/article/details/83586571</guid><author>iking83</author><pubDate>Wed, 31 Oct 2018 16:41:31 +0800</pubDate><description><![CDATA[三分钟解析24位真彩BMP格式文件

 

         BMP是英语BitMap（位图）的缩写，是Windows系统中的标准图像文件格式，而且文件几乎没有压缩，因此信息完全。不说废话，关于BMP的解释网上一搜一大堆，我们直奔主题，分析如何三分钟解析24位真彩BMP文件。

     首先，需要知道BMP文件里面的字节数据有四个部分，分别是：位图文件头（bitmap-file header）、...]]></description><category></category></item><item><title><![CDATA[向量点乘（内积）和叉乘（外积、向量积）概念及几何意义解读]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/81636282</link><guid>https://blog.youkuaiyun.com/iking83/article/details/81636282</guid><author>iking83</author><pubDate>Mon, 13 Aug 2018 20:15:08 +0800</pubDate><description><![CDATA[向量点乘（内积）和叉乘（外积、向量积）概念及几何意义解读

向量是由n个实数组成的一个n行1列（n*1）或一个1行n列（1*n）的有序数组；

 

向量的点乘,也叫向量的内积、数量积，对两个向量执行点乘运算，就是对这两个向量对应位一一相乘之后求和的操作，点乘的结果是一个标量。

 

点乘公式

 

对于向量a和向量b：

 

                                ...]]></description><category></category></item><item><title><![CDATA[同步 异步 阻塞 非阻塞]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/81111172</link><guid>https://blog.youkuaiyun.com/iking83/article/details/81111172</guid><author>iking83</author><pubDate>Thu, 19 Jul 2018 10:39:55 +0800</pubDate><description><![CDATA[老张爱喝茶，废话不说，煮开水。 出场人物：老张，水壶两把（普通水壶，简称水壶；会响的水壶，简称响水壶）。 1 老张把水壶放到火上，立等水开。（同步阻塞） 老张觉得自己有点傻 2 老张把水壶放到火上，去客厅看电视，时不时去厨房看看水开没有。（同步非阻塞） 老张还是觉得自己有点傻，于是变高端了，买了把会响笛的那种水壶。水开之后，能大声发出嘀~~~~的噪音。 3 老张把响水壶放到火上，立等水开。（异步阻...]]></description><category></category></item><item><title><![CDATA[一张图解释清楚约瑟夫环]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/81067017</link><guid>https://blog.youkuaiyun.com/iking83/article/details/81067017</guid><author>iking83</author><pubDate>Mon, 16 Jul 2018 16:15:13 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[网易游戏 笔试题]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/79594768</link><guid>https://blog.youkuaiyun.com/iking83/article/details/79594768</guid><author>iking83</author><pubDate>Sat, 17 Mar 2018 19:14:49 +0800</pubDate><description><![CDATA[描述在网易游戏的日常工作中，C++ 是一门常用的语言。面对众多的 C++ 代码，等待源文件编译的漫长时间是个令人糟心的时刻,一直以来大家对此怨声载道。终于有一天，大家找到了你，一位优秀的程序员，请你来帮忙分析一下编译速度的瓶颈。经过一番调查和研究，你发现一些源代码之间是有依赖关系的。例如，某个源文件 a.cpp 编译链接生成了动态链接库 a.dll，而 b.cpp 编译链接生成的 b.dll 依赖...]]></description><category></category></item><item><title><![CDATA[网易互娱 实习生笔试题]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/79594258</link><guid>https://blog.youkuaiyun.com/iking83/article/details/79594258</guid><author>iking83</author><pubDate>Sat, 17 Mar 2018 18:02:21 +0800</pubDate><description><![CDATA[题目3 : 画线时间限制:10000ms单点时限:1000ms内存限制:256MB描述小王最近在开发一种新的游戏引擎，但是最近遇到了性能瓶颈。于是他打算从最基本的画线功能开始分析优化。画线其实就是调用一次drawline命令，根据给出的两端坐标，在屏幕画出对应的线段。但是小王发现，很多的drawline其实可以合并在一起，譬如下图中的线段(2,3)-(4,5)和线段(3,4)-(6,7)，其实可以...]]></description><category></category></item><item><title><![CDATA[网易游戏实习笔试题]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/79593225</link><guid>https://blog.youkuaiyun.com/iking83/article/details/79593225</guid><author>iking83</author><pubDate>Sat, 17 Mar 2018 16:25:14 +0800</pubDate><description><![CDATA[题目1 : 电子数字时间限制:10000ms单点时限:1000ms内存限制:256MB描述电子数字在生活中很常见，而许多的电子数字是由LED数码管制作而成。数字LED数码管一般由7个发光二极管封装在一起，组成'8'字型，引线在内部连接完成。如下图所示，我们可以对每个发光管进行编码从1到7。而数字0到数字9可以由这七根发光管的亮暗来表示。对LED数码管的二极管进行编码用LED数码管表示数字0-9假设...]]></description><category></category></item><item><title><![CDATA[LeetCode题解 #79 Word Search]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/79587111</link><guid>https://blog.youkuaiyun.com/iking83/article/details/79587111</guid><author>iking83</author><pubDate>Fri, 16 Mar 2018 21:24:28 +0800</pubDate><description><![CDATA[LeetCode题解 #79 Word Search源暗 发布于 9月27日 0评论 1817浏览leetcode 0  0 题目描述Given a 2D board and a word, find if the word exists in the grid.The word can be constructed from letters of sequentially adjacent ce...]]></description><category></category></item><item><title><![CDATA[c++临时对象]]></title><link>https://blog.youkuaiyun.com/iking83/article/details/79488265</link><guid>https://blog.youkuaiyun.com/iking83/article/details/79488265</guid><author>iking83</author><pubDate>Thu, 08 Mar 2018 18:47:30 +0800</pubDate><description><![CDATA[临时对象通常产生于以下4种情况：类型隐式转换按值传递按值返回对象定义（A（））&amp;lt;1&amp;gt;. 在使用一个临时对象( 可能是无名对象 或者 返回对象值时 ) 创建构造另一个对象的过程的中，c++会优化掉该临时对象的产生，直接以相同参数调用相关构造函数构或者 直接调用拷贝构造函数 到 目标对象.     &amp;lt;2&amp;gt;. 若不是对象创建，而是对象赋值，则在赋值表达式的右值处的临时对象    ...]]></description><category></category></item></channel></rss>