<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[immiao的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/immiao</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; immiao]]></copyright><item><title><![CDATA[HDU 4347 KNN+KDTree]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/53933042</link><guid>https://blog.youkuaiyun.com/immiao/article/details/53933042</guid><author>immiao</author><pubDate>Thu, 29 Dec 2016 23:16:46 +0800</pubDate><description><![CDATA[暂时wrong answer，求各路大神指错。。


#include 
#include 
#include 
#include 
#include 

using namespace std;

struct POINT
{
    int p[5];

    int &operator[](int x)
    {
        return p[x];
    }

    co]]></description><category></category></item><item><title><![CDATA[为什么空的主机名不能设置CNAME记录]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/50569605</link><guid>https://blog.youkuaiyun.com/immiao/article/details/50569605</guid><author>immiao</author><pubDate>Sat, 23 Jan 2016 14:13:53 +0800</pubDate><description><![CDATA[很多用户来信问这个问题。用户添加的zone，空的主机名意味着zone自身。假如您给zone自身创建一个CNAME记录，就会遇到冲突，因为zone至少有SOA记录，还可能有NS记录、MX记录。而CNAME不能与任何其他类型的同名记录共存，某条记录不能既是CNAME又是其他类型的。

RFC 1912第2.4节有说明：

“A CNAME record is not allowed to co]]></description><category></category></item><item><title><![CDATA[DNS解析过程详解]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/50565075</link><guid>https://blog.youkuaiyun.com/immiao/article/details/50565075</guid><author>immiao</author><pubDate>Fri, 22 Jan 2016 23:54:46 +0800</pubDate><description><![CDATA[先说一下DNS的几个基本概念：




一． 根域




就是所谓的“.”，其实我们的网址www.baidu.com在配置当中应该是www.baidu.com.（最后有一点），一般我们在浏览器里输入时会省略后面的点，而这也已经成为了习惯。

根域服务器我们知道有13台，但是这是错误的观点。

根域服务器只是具有13个IP地址，但机器数量却不是13台，因为这些IP地址借]]></description><category></category></item><item><title><![CDATA[VS2010 项目属性的默认包含路径设置方法]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/50424264</link><guid>https://blog.youkuaiyun.com/immiao/article/details/50424264</guid><author>immiao</author><pubDate>Tue, 29 Dec 2015 10:15:58 +0800</pubDate><description><![CDATA[有两种方法可以设置vs2010的默认包含路径

方法一：

点击“视图->属性管理器”，在打开的属性管理器中选择Microsoft.Cpp.Win32.user打开




打开后将出现如下图所示：




这时候就可以设置默认目录了。




方法二：

打开 C:\Users\Administrator\AppData\Local\Microsoft\]]></description><category></category></item><item><title><![CDATA[万向节死锁(Gimbal Lock)欧拉角表示旋转的缺陷]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/48624283</link><guid>https://blog.youkuaiyun.com/immiao/article/details/48624283</guid><author>immiao</author><pubDate>Mon, 21 Sep 2015 11:36:04 +0800</pubDate><description><![CDATA[万向节死锁(Gimbal
 Lock)欧拉角表示旋转的缺陷


假如我们有一个望远镜和一个用来放望远镜的三脚架，（我们将）三脚架放在地面上，使支撑望远镜的三脚架的顶部是平行于地平面（参考平面）的，以便使得竖向的旋转轴（记为x轴）是完全地垂直于地平面的。现在，我们就可以将望远镜饶x轴旋转360度，从而观察（以望远镜为中心的）水平包围圈的所有方向。通常将正北朝向方位角度记为0度方位角。第二个坐]]></description><category></category></item><item><title><![CDATA[Directx11 HelloWorld之HLSL的Effect框架的使用]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/48241579</link><guid>https://blog.youkuaiyun.com/immiao/article/details/48241579</guid><author>immiao</author><pubDate>Sun, 06 Sep 2015 11:07:52 +0800</pubDate><description><![CDATA[最近尝试用了下Directx下的Effect框架，作为一初学者初学者，说下为什么我们要使用Effect框架及其好处吧。

    首先Effect最大好处的就是简单，使得编写Shader绘制的程序工作量大大下降。如果不用Effect框架，那么一个个Vertex Shader，Geometry Shader和Pixel Shader都要一遍遍的先用D3DX11CompileFromFile得到二]]></description><category></category></item><item><title><![CDATA[C++类内存分布]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/47314249</link><guid>https://blog.youkuaiyun.com/immiao/article/details/47314249</guid><author>immiao</author><pubDate>Thu, 06 Aug 2015 11:42:06 +0800</pubDate><description><![CDATA[转自http://www.cnblogs.com/jerry19880126/p/3616999.html


书上类继承相关章节到这里就结束了，这里不妨说下C++内存分布结构，我们来看看编译器是怎么处理类成员内存分布的，特别是在继承、虚函数存在的情况下。

工欲善其事，必先利其器，我们先用好Visual Studio工具，像下面这样一步一步来：



 



 
]]></description><category></category></item><item><title><![CDATA[c++引用计数实现]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/46990821</link><guid>https://blog.youkuaiyun.com/immiao/article/details/46990821</guid><author>immiao</author><pubDate>Tue, 21 Jul 2015 19:30:42 +0800</pubDate><description><![CDATA[#include 
#include 

using namespace std;

class String {
public:
    String(const char *pdata);
    String(const String &rhs);
    String &operator = (const String &rhs);
    ~String();
private:
    ]]></description><category></category></item><item><title><![CDATA[ASCII，Unicode和UTF-8]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/46970007</link><guid>https://blog.youkuaiyun.com/immiao/article/details/46970007</guid><author>immiao</author><pubDate>Mon, 20 Jul 2015 16:24:21 +0800</pubDate><description><![CDATA[ASCII码

在计算机内部，所有的信息最终都表示为一个二进制的字符串。

每一个二进制位有0和1两种状态，因此八个二进制位就可以组合出256种状态，这被称为一个字节。

一个字节一共可以用来表示256种不同的状态，每一个状态对应一个符号，就是256个符号，从0000000到11111111。

上个世纪60年代，美国制定了一套字符编码，对英语字符与二进制位之间的关系，做了统一规定]]></description><category></category></item><item><title><![CDATA[C++ 11新特性：移动构造函数和移动赋值操作符]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/46876799</link><guid>https://blog.youkuaiyun.com/immiao/article/details/46876799</guid><author>immiao</author><pubDate>Tue, 14 Jul 2015 13:40:00 +0800</pubDate><description><![CDATA[移动构造函数



在C++11中新加入的特性！

在上一篇blog中我加入了一张图，可以具体看到移动构造函数的运行原理。




此时，我们偷走了临时变量的内存空间，据为己用。节省了开辟空间的时间。





[cpp] view
 plaincopy






A(A && h) : a(h.a)  
{  
    h.a = null]]></description><category></category></item><item><title><![CDATA[C++开发中的pImpl方法]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/46840997</link><guid>https://blog.youkuaiyun.com/immiao/article/details/46840997</guid><author>immiao</author><pubDate>Sat, 11 Jul 2015 12:28:47 +0800</pubDate><description><![CDATA[pImpl方法是微软的Herb Sutter提出来的，该方法是为了尽量减小接口和实现之间的耦合，以避免接口改动对程序重新编译等带来的影响。简单来说，如果你的大型程序因为复杂的头文件包含关系，使得你对某头文件的某小改动可能引起的巨大编译时间成本望而生畏，那么你需要用pImpl方法来改善这种处境。
    下面看两个代码示例。
    1、
    #include "classA.h"
  ]]></description><category></category></item><item><title><![CDATA[lib和dll文件的区别和联系]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/46833289</link><guid>https://blog.youkuaiyun.com/immiao/article/details/46833289</guid><author>immiao</author><pubDate>Fri, 10 Jul 2015 17:25:44 +0800</pubDate><description><![CDATA[什么是lib文件，lib和dll的关系如何 (2008-04-18 19:44:37)    
(1)lib是编译时需要的，dll是运行时需要的。 
如果要完成源代码的编译，有lib就够了。 
如果也使动态连接的程序运行起来，有dll就够了。 
在开发和调试阶段，当然最好都有。 
(2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的，而dll文件是]]></description><category></category></item><item><title><![CDATA[Unity3d中transform.position.set无效的问题]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/46531317</link><guid>https://blog.youkuaiyun.com/immiao/article/details/46531317</guid><author>immiao</author><pubDate>Wed, 17 Jun 2015 11:17:14 +0800</pubDate><description><![CDATA[最近在用Unity3d的时候发现一件很诡异的事情。
当使用下面句子的时候，物体的位置并没有被成功设置成x,y,z。

transform.position.Set(x, y, z);

而换用下面句子的时候则可以成功设置。

transform.position = new Vector3 (x, y, z);



查了下资料，发现和C#的类中的get、set有关，下面是一]]></description><category></category></item><item><title><![CDATA[struct iphdr中的__LITTLE_ENDIAN_BITFIELD和__BIG_ENDIAN_BITFIELD]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/46475891</link><guid>https://blog.youkuaiyun.com/immiao/article/details/46475891</guid><author>immiao</author><pubDate>Fri, 12 Jun 2015 22:12:10 +0800</pubDate><description><![CDATA[__LITTLE_ENDIAN_BITFIELD表示小端序，__BIG_ENDIAN_BITFIELD表示大端序。
/usr/include/linux/ip.h中有一段代码定义了ip首部的结构体，如下：
struct iphdr {
#if defined(__LITTLE_ENDIAN_BITFIELD)
	__u8	ihl:4,
		version:4;
#elif defined (_]]></description><category></category></item><item><title><![CDATA[java中不带package和带package的编译运行方式]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/45939049</link><guid>https://blog.youkuaiyun.com/immiao/article/details/45939049</guid><author>immiao</author><pubDate>Sat, 23 May 2015 23:42:23 +0800</pubDate><description><![CDATA[java中不带package的程序和带package的程序编译的方式是不同的。

一、不带package的程序
建立个HelloWorld.java的文件，放入C:\,内容如下：
public class HelloWorld
{
   public static void main(String args[])
   //向屏幕上写字符串"HelloWorld!"
    {
]]></description><category></category></item><item><title><![CDATA[Makefile经典教程(掌握这些足够)]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/45867405</link><guid>https://blog.youkuaiyun.com/immiao/article/details/45867405</guid><author>immiao</author><pubDate>Wed, 20 May 2015 10:14:35 +0800</pubDate><description><![CDATA[makefile很重要

      什么是makefile？或许很多Winodws的程序员都不知道这个东西，因为那些Windows的IDE都为你做了这个工作，但我觉得要作一个好的和professional的程序员，makefile还是要懂。这就好像现在有这么多的HTML的编辑器，但如果你想成为一个专业人士，你还是要了解HTML的标识的含义。特别在Unix下的软件编译，你就不能不自己写make]]></description><category></category></item><item><title><![CDATA[简明Vim练级攻略]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/45850091</link><guid>https://blog.youkuaiyun.com/immiao/article/details/45850091</guid><author>immiao</author><pubDate>Tue, 19 May 2015 21:22:37 +0800</pubDate><description><![CDATA[文章转载自http://www.ccvita.com/487.html


前言
今天看到这篇文章，共鸣点非常多。它把Vim使用分为4个级别，目前我自己是熟练运用前面三级的命令，在培养习惯使用第四级。完全就是我这一年来坚持使用Vim的过程。所以不管怎么我要转载这篇文章。翻译自《Learn
 Vim Progressively》，原中文翻译出自《简明Vim练级攻略》。我进行了部分的排版工作]]></description><category></category></item><item><title><![CDATA[C++ 虚函数表解析]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/45539571</link><guid>https://blog.youkuaiyun.com/immiao/article/details/45539571</guid><author>immiao</author><pubDate>Wed, 06 May 2015 19:13:11 +0800</pubDate><description><![CDATA[C++ 虚函数表解析
 
陈皓
http://blog.youkuaiyun.com/haoel
 
 
前言
 
C++中的虚函数的作用主要是实现了多态的机制。关于多态，简而言之就是用父类型别的指针指向其子类的实例，然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”，这是一种泛型技术。所谓泛型技术，说白了就是试图使用不变的代码来实现可变的算法。比如：模板技术，R]]></description><category></category></item><item><title><![CDATA[逻辑题：假设河的同一侧有警察、强盗……]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/44977233</link><guid>https://blog.youkuaiyun.com/immiao/article/details/44977233</guid><author>immiao</author><pubDate>Fri, 10 Apr 2015 11:36:07 +0800</pubDate><description><![CDATA[假设河的同一侧有警察、强盗、路人A、路人A的两个孩子（A1，A2）、路人B、路人B的两个孩子（B1、B2），他们想要安全过河，限制条件如下：
1、假设警察不在，强盗会杀死所有的跟他在一起的人
2、假设路人A离开，路人B和路人A的孩子在一起，路人A的孩子会死掉
3、假设路人B离开，路人A和路人B的孩子在一起，路人B的孩子会死掉
4、河面上有一条船，但一次最多可以容纳两人过河
5、只有警察、]]></description><category></category></item><item><title><![CDATA[阿里在线笔试题---乱序到来顺序输出]]></title><link>https://blog.youkuaiyun.com/immiao/article/details/44874213</link><guid>https://blog.youkuaiyun.com/immiao/article/details/44874213</guid><author>immiao</author><pubDate>Sat, 04 Apr 2015 17:20:53 +0800</pubDate><description><![CDATA[#include 
using namespace std;

const int maxLength = 1000;
int arrayLength;
int unsortedList[maxLength], sortedList[maxLength];
void test() {
	srand((unsigned) time(NULL));
	arrayLength = rand() % ma]]></description><category></category></item></channel></rss>