<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[王伟挺的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/wangweitingaabbcc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; wangweitingaabbcc]]></copyright><item><title><![CDATA[站在巨人的肩膀上，C++开源库大全]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/50434539</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/50434539</guid><author>wangweitingaabbcc</author><pubDate>Wed, 30 Dec 2015 14:38:07 +0800</pubDate><description><![CDATA[程序员要站在巨人的肩膀上，C++拥有丰富的开源库，这里包括：标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。



标准库

C++ Standard Library：是一系列类和函数的集合，使用核心语言编写，也是C++ISO自身标准的一部分。Standard Template Library：标准模板库C POSIX library ： POSIX系统]]></description><category></category></item><item><title><![CDATA[实现 boost lexical_cast（基本类型转换）]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47297847</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47297847</guid><author>wangweitingaabbcc</author><pubDate>Wed, 05 Aug 2015 15:26:18 +0800</pubDate><description><![CDATA[boost 中的lexical_cast专门用于基本数据类型转换 比如 int float bool double string ,但是使用时必须引入boost 库，如何自己实现一个相似的函数呢，答案便是使用到模板。
实现如下：
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
usi]]></description><category></category></item><item><title><![CDATA[STD::MAP与结构体的互转]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47296379</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47296379</guid><author>wangweitingaabbcc</author><pubDate>Wed, 05 Aug 2015 14:13:46 +0800</pubDate><description><![CDATA[问题描述大概如下，一个已经存在的库a.lib，和服务器通信，全是通过结构体，或者基本数据类型进行的，现在额另外一个框架f，提供了c++和js交 互的方法，但只支持基本数据类型，std 容器，js里面的对象被映射成std::map供c++层访问，现在需要通过JS调用a.lib的接口，所以 自然想到的是，做一个中间层，把map转换成struct，还好，a.lib要求的结构体非常简单，所有成员只包括基本]]></description><category></category></item><item><title><![CDATA[auto decltype 用于返回值类型后置时的占位]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47295145</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47295145</guid><author>wangweitingaabbcc</author><pubDate>Wed, 05 Aug 2015 12:17:54 +0800</pubDate><description><![CDATA[decltype是 GCC 实现的第一个 C++ 11 新特性。它实际上起源于一个相当古老的 GNU 扩展关键字——__typeof__。这个非标准关键字也能够在 C 语言中使用，GNU Compiler Collection 的专业用户可能对它更熟悉一些。2008 年，GCC 4.3.x 就实现了这个特性，同时去除了__typeof__的一些缺点。现在，decltype和__decltype两个]]></description><category></category></item><item><title><![CDATA[C++ 组合函数]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47294549</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47294549</guid><author>wangweitingaabbcc</author><pubDate>Wed, 05 Aug 2015 11:33:06 +0800</pubDate><description><![CDATA[组合函数是将N个一元函数组成一种更复杂的函数，每个函数的返回值作为参数传给下一个函数，直到传到最后一个函数结束。这种组合函数的能力可以使我们以一种更直观的方式去完成复杂的链式执行行为。例如有三个函数：
int f(int x), int g(int y), int h(int z)
依次调用三个函数
int a,b,c,parm; 
a = f(parm); 
b = g(a); 
c = h(]]></description><category></category></item><item><title><![CDATA[可变模板参数]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47294191</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47294191</guid><author>wangweitingaabbcc</author><pubDate>Wed, 05 Aug 2015 11:14:17 +0800</pubDate><description><![CDATA[#include 
using namespace std;

template class A;
class B{
private:    
     int b = 1;
     template friend class A;    
};

template
class A{
public:
     void fun(B b){cout<<b.b<<endl;}
};

int mai]]></description><category></category></item><item><title><![CDATA[C++多返回值]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47293971</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/47293971</guid><author>wangweitingaabbcc</author><pubDate>Wed, 05 Aug 2015 11:13:02 +0800</pubDate><description><![CDATA[#include 
#include 

using namespace std;

template 
struct _mr : _mr
{
    T& value;
    typedef _mr base_type;
    _mr(T& t, base_type& father)
        : value(t),
        base_type(father.value, st]]></description><category></category></item><item><title><![CDATA[推荐！国外程序员整理的 C++ 资源大全]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/46863539</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/46863539</guid><author>wangweitingaabbcc</author><pubDate>Mon, 13 Jul 2015 15:49:59 +0800</pubDate><description><![CDATA[关于 C++ 框架、库和资源的一些汇总列表，由 fffaraz 发起和维护。

内容包括：标准库、Web应用框架、人工智能、数据库、图片处理、机器学习、日志、代码分析等。

 

标准库

C++标准库，包括了STL容器，算法和函数等。

C++ Standard
 Library：是一系列类和函数的集合，使用核心语言编写，也是C++ISO自身标准的一部分。Standard ]]></description><category></category></item><item><title><![CDATA[Hadoop多节点集群安装配置]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/39830109</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/39830109</guid><author>wangweitingaabbcc</author><pubDate>Mon, 06 Oct 2014 17:46:24 +0800</pubDate><description><![CDATA[1、集群部署介绍
1.1 Hadoop简介
 Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统HDFS(Hadoop
 Distributed Filesystem）和MapReduce（Google MapReduce的开源实现）为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。
对于Hadoop的集群来讲，可以分成两大类角色]]></description><category></category></item><item><title><![CDATA[Centos　利用sqoop从sqlserver导入数据到HDFS或Hive]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/39827291</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/39827291</guid><author>wangweitingaabbcc</author><pubDate>Mon, 06 Oct 2014 14:45:26 +0800</pubDate><description><![CDATA[SQL Server Connect for Hadoop

 sqoop是一个开源的工具，能将数据表从关系数据库导入HDFS或Hive上。在安装sqoop之前，需安装好Hadoop和JAVA以及Hive。



 sqoop的安装：



sqoop的版本： sqoop-1.3.0-cdh3u1 (sqoop-1.3.0-cdh3u1.tar.gz) http://archi]]></description><category></category></item><item><title><![CDATA[Centos 环境安装配置hadoop]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/39781065</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/39781065</guid><author>wangweitingaabbcc</author><pubDate>Sat, 04 Oct 2014 18:09:30 +0800</pubDate><description><![CDATA[目的：安装hadoop

Hadoop是需要在java环境下面运行，所以，首先要保证你的系统下面装有JDK。那么步骤是：配置SSH——安装JDK——安装hadoop（当然你愿意先安装它也完全没问题）——配置java的环境变量（需要知道java的安装路径）——配置namenode下面3个配置文件——格式化hadoop——启动hadoop。

我们用一般用户登录，然后切换到root下面，因为权]]></description><category></category></item><item><title><![CDATA[Ubuntu 上配置hive]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/39548909</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/39548909</guid><author>wangweitingaabbcc</author><pubDate>Thu, 25 Sep 2014 12:11:51 +0800</pubDate><description><![CDATA[在hdfs上建目录：



[plain] view
 plaincopy






$ hadoop fs -mkdir /tmp]]></description><category></category></item><item><title><![CDATA[Ubuntu上搭建Hadoop环境（单机模式+伪分布模式）]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/39548467</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/39548467</guid><author>wangweitingaabbcc</author><pubDate>Thu, 25 Sep 2014 11:30:01 +0800</pubDate><description><![CDATA[单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时，Hadoop无法了解硬件安装环境，便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时，Hadoop会完全运行在本地。因为不需要与其他节点交互，单机模式就不使用HDFS，也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。
伪分布模式（Pseudo-Distr]]></description><category></category></item><item><title><![CDATA[hashmap, map, vector, list ...hash table 的比较和分析]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/20167975</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/20167975</guid><author>wangweitingaabbcc</author><pubDate>Sat, 01 Mar 2014 00:13:59 +0800</pubDate><description><![CDATA[list支持快速的插入和删除，但是查找费时;
vector支持快速的查找，但是插入费时。
map查找的时间复杂度是对数的，这几乎是最快的，hash也是对数的。

如果我自己写，我也会用二叉检索树，它在大部分情况下可以保证对数复杂度，最坏情况是常数复杂度，而std::map在任何情况下都可以保证对数复杂度，原因是它保证存诸结构是完全二叉检索树，但这会在存诸上牺牲一些时间。
STL   中的]]></description><category></category></item><item><title><![CDATA[普通dll导出c++类]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12174535</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12174535</guid><author>wangweitingaabbcc</author><pubDate>Sun, 29 Sep 2013 18:37:20 +0800</pubDate><description><![CDATA[Balon白话MSDN：从普通DLL中导出C++类（1） – dllexport和dllimport的使用方法（中英对照、附注解）

这几天写几个小程序练手，在准备将一个类导出时，发现还真不知道如果不用MFC的扩展DLL，是怎么导出的。但我知道dllexport可以导出函数和变量，而且MFC扩展DLL就算是使用了MFC的功能，但能否导出类应该也不是必须用MFC才能够做到，一定是有相应的机制可以]]></description><category></category></item><item><title><![CDATA[C++ DLL __declspec(dllexport) & __declspec(dllimport) 解析]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12170325</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12170325</guid><author>wangweitingaabbcc</author><pubDate>Sun, 29 Sep 2013 17:12:52 +0800</pubDate><description><![CDATA[__declspec(dllexport)

声明一个导出函数，是说这个函数要从本DLL导出。我要给别人用。一般用于dll中 
省掉在DEF文件中手工定义导出哪些函数的一个方法。当然，如果你的DLL里全是C++的类的话，你无法在DEF里指定导出的函数，只能用__declspec(dllexport)导出类

__declspec(dllimport)

声明一个导入函数，是说这个函数]]></description><category></category></item><item><title><![CDATA[C++接口实现]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12101597</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12101597</guid><author>wangweitingaabbcc</author><pubDate>Fri, 27 Sep 2013 16:50:11 +0800</pubDate><description><![CDATA[面向对象的语言诸如JAVA提供了Interface来实现接口，但C++却没有这样一个东西，尽管C++ 通过纯虚基类实现接口，譬如COM的C++实现就是通过纯虚基类实现的（当然MFC的COM实现用了嵌套类），但我们更愿意看到一个诸如 Interface的东西。下面就介绍一种解决办法。


程序6步

 

    1、首先我们需要一些宏：

 


Cpp代码  


]]></description><category></category></item><item><title><![CDATA[C++异常机制的实现方式和开销分析]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12017019</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12017019</guid><author>wangweitingaabbcc</author><pubDate>Wed, 25 Sep 2013 15:57:08 +0800</pubDate><description><![CDATA[在我几年前开始写《C++编码规范与指导》一文时，就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了。没想到时隔几年以后才有机会把这个尾巴补完 :-)。
还是那句开场白：“在恰当的场合使用恰当的特性” 对每个称职的 C++ 程序员来说都是一个基本标准。想要做到这点，就必须要了解语言中每个特性的实现方式及其时空开销。异常处理由于涉及大量底层内容，向来是 C++ 各种高级机制中较难理解和透彻掌握]]></description><category></category></item><item><title><![CDATA[RTTI、虚函数和虚基类的实现方式、开销分析及使用指导]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12012111</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12012111</guid><author>wangweitingaabbcc</author><pubDate>Wed, 25 Sep 2013 14:19:36 +0800</pubDate><description><![CDATA[“在正确的场合使用恰当的特性” 对称职的C++程序员来说是一个基本标准。想要做到这点，首先要了解语言中每个特性的实现方式及其开销。本文主要讨论相对于传统 C 而言，对效率有影响的几个C++新特性：

编译时开销运行时开销相关文档：

C++编码规范与指导C++异常机制的实现方式和开销分析多处理器环境和线程同步的高级话题C++0x（C++11）新特性点评

相对于传统的 C 语言，C++]]></description><category></category></item><item><title><![CDATA[STL基础4：STL7个常用容器的比较]]></title><link>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12005235</link><guid>https://blog.youkuaiyun.com/wangweitingaabbcc/article/details/12005235</guid><author>wangweitingaabbcc</author><pubDate>Wed, 25 Sep 2013 11:05:21 +0800</pubDate><description><![CDATA[1.STL容器分类：

STL的容器可以分为以下几个大类: 
一 顺序（序列）容器，　有vector, list, deque, string,stack( 适配器类), queue( 适配器类), priority queues( 适配器类)

二   关联容器,     有set, multiset, map, multimap, bitset,hash_set, hash_map,]]></description><category></category></item></channel></rss>