<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[在路上]]></title><description><![CDATA[微风和众草，大叶长圆阴。晴露珠共合，夕阳花映深。 从来不著水，清净本因心。]]></description><link>https://blog.youkuaiyun.com/kee131</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kee131]]></copyright><item><title><![CDATA[cmake指定编译器]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/104443396</link><guid>https://blog.youkuaiyun.com/kee131/article/details/104443396</guid><author>kee131</author><pubDate>Sat, 22 Feb 2020 14:29:13 +0800</pubDate><description><![CDATA[vs2015 x64编译器为例，cmake命令如下：
Xml代码  收藏代码
cmake -G “Visual Studio 14 Win64” path\to\source\dir
去掉Win64，就是32bit：
Xml代码  收藏代码
cmake -G “Visual Studio 14” path\to\source\dir
另外一种等价方式，用命令行参数-A来指定架构（x64或者ARM）...]]></description><category></category></item><item><title><![CDATA[我的vim配置]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/103473001</link><guid>https://blog.youkuaiyun.com/kee131/article/details/103473001</guid><author>kee131</author><pubDate>Tue, 10 Dec 2019 11:50:14 +0800</pubDate><description><![CDATA[" An example for a vimrc file.
"
" Maintainer:   Bram Moolenaar &lt;Bram@vim.org&gt;
" Last change:  2011 Apr 15
"
" To use it, copy it to
"     for Unix and OS/2:  ~/.vimrc
"             for Amiga: ...]]></description><category></category></item><item><title><![CDATA[MFC中的DDX和DDV]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/82377988</link><guid>https://blog.youkuaiyun.com/kee131/article/details/82377988</guid><author>kee131</author><pubDate>Tue, 04 Sep 2018 09:21:33 +0800</pubDate><description><![CDATA[出处：http://m.blog.youkuaiyun.com/blog/weiqubo/8179167

DoDataExchange由框架调用，作用是交互并且验证对话框数据，主要由(DDX) 和 (DDV)宏实现。 永远不要直接调用这个函数，而是通过UpdateData(TRUE/FALSE)实现控件与变量之间值的传递。 

当然你也可以不使用DoDataExchange而完成控件与变量之间值的传递，如：...]]></description><category></category></item><item><title><![CDATA[C++ 关键字 explicit]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44920235</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44920235</guid><author>kee131</author><pubDate>Tue, 07 Apr 2015 14:42:51 +0800</pubDate><description><![CDATA[关键字explicit，可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。
　　C++中， 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数)， 承担了两个角色。 1 是个构造器 2 是个默认且隐含的类型转换操作符。
　　所以， 有时候在我们写下如 AAA = XXX， 这样的代码， 且恰好XXX的类型正好是AA]]></description><category></category></item><item><title><![CDATA[程序员的大侠情节]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44775031</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44775031</guid><author>kee131</author><pubDate>Tue, 31 Mar 2015 10:19:31 +0800</pubDate><description><![CDATA[http://www.cnblogs.com/forfuture1978/p/3330373.html

程序员的大侠情节

在接下来的两节中，我想谈一谈的是情商问题。
什么？情商？情商和程序员有关系么？我们是搞技术的，干嘛不深入的搞自己的技术，整天弄什么情商，中国软件业的技术氛围就是让你这种人弄坏的，没有愿意一门心思搞技术，导致中国软件业搞不出像样的东西。你要搞情商什么的，干嘛来做程序]]></description><category></category></item><item><title><![CDATA[C++ 中的 placement new 操作]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44647121</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44647121</guid><author>kee131</author><pubDate>Thu, 26 Mar 2015 11:02:12 +0800</pubDate><description><![CDATA[placement new是重载operator new的一个标准、全局的版本，它不能被自定义的版本代替（不像普通的operator new和operator delete能够被替换成用户自定义的版本）。
它的原型如下：
void *operator new( size_t, void *p ) throw()  { return p; }
 
首先我们区分下几个容易混淆的关键词：new、]]></description><category></category></item><item><title><![CDATA[《STL源码剖析》--<stl_uninitialized.h>]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44647003</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44647003</guid><author>kee131</author><pubDate>Thu, 26 Mar 2015 10:56:15 +0800</pubDate><description><![CDATA[// Filename:    stl_uninitialized.h

// Comment By:  凝霜
// E-mail:      mdl2009@vip.qq.com
// Blog:        http://blog.youkuaiyun.com/mdl13412

// 主要接口:
//
//      template 
//      inline ForwardIterator
/]]></description><category></category></item><item><title><![CDATA[《STL源码剖析》--<stl_construct.h>]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44646965</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44646965</guid><author>kee131</author><pubDate>Thu, 26 Mar 2015 10:54:53 +0800</pubDate><description><![CDATA[// Filename:    stl_construct.h

// Comment By:  凝霜
// E-mail:      mdl2009@vip.qq.com
// Blog:        http://blog.youkuaiyun.com/mdl13412

/*
 *
 * Copyright (c) 1994
 * Hewlett-Packard Company
 *
 * Permi]]></description><category></category></item><item><title><![CDATA[《STL源码剖析》--<memery>]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44646917</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44646917</guid><author>kee131</author><pubDate>Thu, 26 Mar 2015 10:52:27 +0800</pubDate><description><![CDATA[// Filename:    memory

// Comment By:  凝霜
// E-mail:      mdl2009@vip.qq.com
// Blog:        http://blog.youkuaiyun.com/mdl13412

// 智能指针在STL中只有一个auto_ptr, 用于对原生指针的生命周期进行管理,
// 但是其本身有许多另其不安全的特性, 例如以一个auto_]]></description><category></category></item><item><title><![CDATA[《STL源码剖析》--stl_alloc.h]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44621385</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44621385</guid><author>kee131</author><pubDate>Wed, 25 Mar 2015 14:34:00 +0800</pubDate><description><![CDATA[// Filename:    stl_alloc.h
// Comment By:  凝霜
// E-mail:      mdl2009@vip.qq.com
// Blog:        http://blog.youkuaiyun.com/mdl13412

// 特别说明: SGI STL的allocator在我的编译环境下不使用内存池
//          而其内存池不进行内存释放操作, 其]]></description><category></category></item><item><title><![CDATA[《STL源码剖析》--defalloc.h]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44621331</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44621331</guid><author>kee131</author><pubDate>Wed, 25 Mar 2015 14:30:48 +0800</pubDate><description><![CDATA[// Filename:    defalloc.h

// Comment By:  凝霜
// E-mail:      mdl2009@vip.qq.com
// Blog:        http://blog.youkuaiyun.com/mdl13412

/*
 *
 * Copyright (c) 1994
 * Hewlett-Packard Company
 *
 * Permission]]></description><category></category></item><item><title><![CDATA[C++ STL源码剖析-- stl_config.h]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44621301</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44621301</guid><author>kee131</author><pubDate>Wed, 25 Mar 2015 14:29:05 +0800</pubDate><description><![CDATA[// Filename:    stl_config.h

// Comment By:  凝霜
// E-mail:      mdl2009@vip.qq.com
// Blog:        http://blog.youkuaiyun.com/mdl13412

/*
 * Copyright (c) 1996-1997
 * Silicon Graphics Computer Systems, I]]></description><category></category></item><item><title><![CDATA[void qsort (void* base, size_t num, size_t size,             int (*compar)(const void*,const void*)]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44619025</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44619025</guid><author>kee131</author><pubDate>Wed, 25 Mar 2015 11:04:46 +0800</pubDate><description><![CDATA[function  <cstdlib>  qsortvoid qsort (void* base, size_t num, size_t size,
            int (*compar)(const void*,const void*));Sort elements of array 
Sorts the num elements of the array pointed by bas]]></description><category></category></item><item><title><![CDATA[STL--find()]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44618555</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44618555</guid><author>kee131</author><pubDate>Wed, 25 Mar 2015 10:40:04 +0800</pubDate><description><![CDATA[function template<algorithm>std::findtemplate <class InputIterator, class T>InputIterator find (InputIterator first, InputIterator last, const T& val);Find value in range 
Returns an iterator to the fi]]></description><category></category></item><item><title><![CDATA[STL--for_each()]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44595905</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44595905</guid><author>kee131</author><pubDate>Tue, 24 Mar 2015 18:34:08 +0800</pubDate><description><![CDATA[function template<algorithm>std::for_each 
template <class InputIterator, class Function> 
   Function for_each (InputIterator first, InputIterator last, Function fn); 
Apply function to range 
Appli]]></description><category></category></item><item><title><![CDATA[一个泛型句柄类--C++模板和泛型编程--c++ primer]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44592285</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44592285</guid><author>kee131</author><pubDate>Tue, 24 Mar 2015 15:15:41 +0800</pubDate><description><![CDATA[16.5. 一个泛型句柄类这个例子体现了 C++ 相当复杂的语言应用，理解它需要很好地理解继承和模板。在熟悉了这些特性之后再研究这个例子也许会帮助。另一方面，这个例子还能很好地测试你对这些我的理解程序。在第十五章定义了两个句柄类：Sales_item 类（第 15.8 节）和 Query 类（第 15.9 节）。这两个类管理继承层次中对象的指针，句柄的用户不必管理指向这些对象的指针，用户代码可以使用]]></description><category></category></item><item><title><![CDATA[模板和泛型编程--模板编译模型--第十六章 --c++ primer（3）]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44591311</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44591311</guid><author>kee131</author><pubDate>Tue, 24 Mar 2015 14:21:57 +0800</pubDate><description><![CDATA[当编译器看到模板定义的时候，它不立即产生代码。只有在看到用到模板时，如调用了函数模板或调用了类模板的对象的时候， 编译器才产生特定类型的模板实例。 
一般而言，当调用函数的时候，编译器只需要看到函数的声明。类似地，定义类类型的对象时，类定义必须可用，但成员函数的定义不是必须存在的。因此，应该将类定义和函数声明放在头文件中， 而普通函数和类成员函数的定义放在源文件中。 
模板则不同：要进行实例化，编译]]></description><category></category></item><item><title><![CDATA[模板和泛型编程 --实例化-- C++ primer 第十六章(2)]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44590635</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44590635</guid><author>kee131</author><pubDate>Tue, 24 Mar 2015 13:36:02 +0800</pubDate><description><![CDATA[16.1.4. 模板类型形参 
类型形参由关键字 class 或 typename 后接说明符构成。在模板形参表中，这两个关键字具有相同的含义，都指出后面所接的名字表示一个类型。模板类型形参可作为类型说明符在模板中的任何地方，与内置类型说明符或类类型说明符的使用方式完全相同。具体而言，它可以用于指定返回类型或函数形参类型，以及在函数体中用于变量声明或强制类型转换。     // ok: same t]]></description><category></category></item><item><title><![CDATA[模板和泛型编程--模板定义--第十六章 --c++ primer]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44590471</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44590471</guid><author>kee131</author><pubDate>Tue, 24 Mar 2015 13:23:44 +0800</pubDate><description><![CDATA[第十六章 模板和泛型编程 
    所谓泛型编程就是以独立于任何特定类型的方式编写代码。使用泛型程序 
时，我们需要提供具体程序实例所操作的类型或值。第二部分中描述的标准库的 
容器、迭代器和算法都是泛型编程的例子。每种容器(如 vector)都有单一的定 
义，但可以定义许多不同种类的 vector，它们的区别在于所包含的元素类型。 
模板是泛型编程的基础。使用模板时可以无须了解模板的定义。本章将]]></description><category></category></item><item><title><![CDATA[C++的引用类型]]></title><link>https://blog.youkuaiyun.com/kee131/article/details/44565925</link><guid>https://blog.youkuaiyun.com/kee131/article/details/44565925</guid><author>kee131</author><pubDate>Mon, 23 Mar 2015 16:51:08 +0800</pubDate><description><![CDATA[引用类型也称别名，它是个很有趣的东西。在c++ 下你可以把它看作是另外的一种指针，通过引用类型我们同样也可以间接的操作对象，引用类型主要是用在函数的形式参数上，通常我们使用它是把类对象传递给一个函数。 引用对象采用类型名加上&符号和名称的方式进行定义。例如：(int &test;)，这里我们就定义了一个int类型的名为test 的引用，但是int &test;这样的方式是不能够被编译成功的，因为引用]]></description><category></category></item></channel></rss>