<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[脱离了低级趣味的流氓]]></title><description><![CDATA[越过山丘]]></description><link>https://blog.youkuaiyun.com/thinkerleo1997</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; thinkerleo1997]]></copyright><item><title><![CDATA[博客迁移]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/84775588</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/84775588</guid><author>thinkerleo1997</author><pubDate>Mon, 03 Dec 2018 17:39:49 +0800</pubDate><description><![CDATA[博客迁移博客将在未来几个月内迁移到Github，届时欢迎关注新博客。
博客将在未来几个月内迁移到Github，届时欢迎关注新博客。

]]></description><category></category></item><item><title><![CDATA[WebRTC中peerconnection示例工程结构分析]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/81050240</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/81050240</guid><author>thinkerleo1997</author><pubDate>Sun, 15 Jul 2018 09:25:00 +0800</pubDate><description><![CDATA[WebRTC Native代码相当的大（大约200Mb），开始的时候对这些代码真的是一头雾水，最后决定先从example中的peerconnection先看起。

peerconnection例子分为client端和server端，多个client加入对话，server负责信令的处理，这里主要讨论与WebRTC较为相关的client Demo。

代码结构： 


这个例子用Gtk图形库开发，其中...]]></description><category></category></item><item><title><![CDATA[左值、左值引用、右值、右值引用]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80753699</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80753699</guid><author>thinkerleo1997</author><pubDate>Wed, 20 Jun 2018 22:42:50 +0800</pubDate><description><![CDATA[转载自：http://www.cnblogs.com/SZxiaochun/p/8017475.html 
左值、左值引用、右值、右值引用 
1、左值和右值的概念 
         左值是可以放在赋值号左边可以被赋值的值；左值必须要在内存中有实体； 
         右值当在赋值号右边取出值赋给其他变量的值；右值可以在内存也可以在CPU寄存器。 
         一个对象被用作右值时，使用的...]]></description><category></category></item><item><title><![CDATA[C++11：尽量使用std::array来代替数组]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80415059</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80415059</guid><author>thinkerleo1997</author><pubDate>Wed, 23 May 2018 09:38:34 +0800</pubDate><description><![CDATA[C++11后，标准库引入了更现代化的数组std::array，cppreference.com是这样介绍的：

定义于头文件 &amp;amp;lt;array&amp;amp;gt;
template&amp;amp;lt; 
    class T, 
    std::size_t N 
&amp;amp;gt; struct array;
(C++11 起)

std::array 是封装固定大小数组的容器。


此容器是一个聚合类型，其语义等同于保有...]]></description><category></category></item><item><title><![CDATA[C++11中的“万能引用”]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80414667</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80414667</guid><author>thinkerleo1997</author><pubDate>Wed, 23 May 2018 09:09:06 +0800</pubDate><description><![CDATA[首先我们来看一个函数模板的代码：

template&amp;lt;typename T&amp;gt;
void func(T&amp;amp; param){
}

这里模板函数参数接收一个引用，但是却不能这样调用：

func(27);
//error: invalid initialization of non-const reference of type ‘int&amp;amp;’ from an rvalue o...]]></description><category></category></item><item><title><![CDATA[【转载】 webrtc中的网络反馈与控制]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80366842</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80366842</guid><author>thinkerleo1997</author><pubDate>Fri, 18 May 2018 17:00:02 +0800</pubDate><description><![CDATA[原地址：http://www.befoio.com/4206.html一、引言站在风口上，猪都能飞起来。雷布斯的这句名言，已经被大家传的家喻户晓了，说起当下站在风口上的猪，除了丁老板的未央猪，这头实实在在的猪，视频直播应该可以算一个。今年各种直播平台，各个轮次的融资消息应接不暇。对于互联网技术从业者来说，RTC(Real Time Communication，实时通信)这个站着视频直播背后的技术也...]]></description><category></category></item><item><title><![CDATA[C++11的enum class 、enum struct 和 enum]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80355905</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80355905</guid><author>thinkerleo1997</author><pubDate>Thu, 17 May 2018 19:49:35 +0800</pubDate><description><![CDATA[原文地址：https://blog.youkuaiyun.com/sanoseiichirou/article/details/50180533侵删C++标准文档——n2347（学习笔记） 链接：http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2347.pdf旧版enum存在的问题1 问题1向整形的隐式转换2 问题2无法指定底层所使用的数据类型...]]></description><category></category></item><item><title><![CDATA[WebRTC in the real world: STUN, TURN and signaling]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80337815</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80337815</guid><author>thinkerleo1997</author><pubDate>Wed, 16 May 2018 15:33:17 +0800</pubDate><description><![CDATA[By Sam DuttonPublished: November 4th, 2013Updated: November 4th, 2013Comments: 9WebRTC enables peer to peer communication.BUT...WebRTC still needs servers:For clients to exchange metadata to coordinat...]]></description><category></category></item><item><title><![CDATA[WebRTC简介与代码架构]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80328735</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80328735</guid><author>thinkerleo1997</author><pubDate>Wed, 16 May 2018 11:11:08 +0800</pubDate><description><![CDATA[　简介

WebRTC，中文全称网页即时通信（Web Real-Time Communication）的缩写，是一个支持网页浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入万维网联盟的W3C推荐标准。

WebRTC除了是一套API标准，也是Google的一个对WebRTC标准API的实现（网址：https://webrt...]]></description><category></category></item><item><title><![CDATA[AES加密算法（Rijndael算法）]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80253635</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80253635</guid><author>thinkerleo1997</author><pubDate>Wed, 09 May 2018 14:52:32 +0800</pubDate><description><![CDATA[此文章为转载，如有侵权，通知删除

原地址：https://blog.youkuaiyun.com/zfpigpig/article/details/8526016






上周好几天都在搞AES，总算是把Rijndael算法搞明白了。本片会仔细介绍AES（Rijndael算法），后两篇会介绍AES的java和php实现。

AES（Rijndael算法）

Rijndael算法]]></description><category></category></item><item><title><![CDATA[RTP/RTCP 和 SRTP/SRTCP协议]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80233530</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80233530</guid><author>thinkerleo1997</author><pubDate>Mon, 07 May 2018 23:47:10 +0800</pubDate><description><![CDATA[此文章为转载，如有侵权，通知删除
原地址：https://blog.youkuaiyun.com/swallow_he/article/details/74202104






RTP/RTCP 和 SRTP/SRTCP协议

1 RTP

RTP 协议(Real TimeProtocol)提供具有实时特征的、端到端的数据传送服务，可用来传送声音和运动图像数据。在这项数据传送服务中]]></description><category></category></item><item><title><![CDATA[一个简单引用计数智能指针的实现]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80216561</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80216561</guid><author>thinkerleo1997</author><pubDate>Sun, 06 May 2018 17:51:02 +0800</pubDate><description><![CDATA[
template &amp;lt;typename T&amp;gt;
class SharedPtr{
public:
    SharedPtr() = delete;//不允许未初始化的智能指针，防止使用空指针
    SharedPtr(const SharedPtr&amp;amp;) noexcept; //拷贝构造
    SharedPtr(T*) noexcept; //shallow copy
  ...]]></description><category></category></item><item><title><![CDATA[C++ throw()关键词：一个被C++标准抛弃的玩意儿]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80215917</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80215917</guid><author>thinkerleo1997</author><pubDate>Sun, 06 May 2018 17:44:13 +0800</pubDate><description><![CDATA[throw()关键词相信大家在很多C++教程或者代码中看到过，这个博客以一Stackoverflow上的问题开始：应该在C++中使用throw()关键词吗？



回答是：不应该 
理由主要是各个编译器并没有一个统一的标准去处理这个关键词，还有这个关键词作用很累赘等等，总之是不应该的。

Anyway，throw关键词被C++11抛弃了，C++11标准提出了新的关键词：noexcept 
一般来说...]]></description><category></category></item><item><title><![CDATA[C++模版与特化与偏特化]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80197750</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80197750</guid><author>thinkerleo1997</author><pubDate>Fri, 04 May 2018 17:06:48 +0800</pubDate><description><![CDATA[模版与特化的概念函数模版与类模版C++中模板分为函数模板和类模板函数模板：是一种抽象函数定义，它代表一类同构函数。类模板：是一种更高层次的抽象的类定义。特化的概念所谓特化，就是将泛型的东东搞得具体化一些，从字面上来解释，就是为已有的模板参数进行一些使其特殊化的指定，使得以前不受任何约束的模板参数，或受到特定的修饰（例如const或者摇身一变成为了指针之类的东东，甚至是经过别的模板类包装之后的模板类...]]></description><category></category></item><item><title><![CDATA[《Effective C++》：学习处理模板化基类内的名称]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80197324</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/80197324</guid><author>thinkerleo1997</author><pubDate>Fri, 04 May 2018 16:44:23 +0800</pubDate><description><![CDATA[假设有以下需求： 
要给N个公司发信息，目前有Alibaba、Microsoft、Amazon三家公司，给Microsoft、Amazon发送明文，给Alibaba发送密文（特殊情况），可以用C++模板技术来实现。



class Alibaba{
public:
    //给Alibaba发送密文
    static void SendCryMsg(){
        std::cout...]]></description><category></category></item><item><title><![CDATA[扩展型归并排序（模板+仿函数）]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/79281692</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/79281692</guid><author>thinkerleo1997</author><pubDate>Wed, 07 Feb 2018 16:38:32 +0800</pubDate><description><![CDATA[写了一个类似STL中的sort用法的归并排序，可以以函数形式传入排序规则。

#include 
#include 
#include 
#include 

using namespace std;

template typename T>
class MergeSort{
public:
    //以仿函数实现
    void operator()(vector& data, funct]]></description><category></category></item><item><title><![CDATA[Ｎ皇后问题（递归＋回溯）的Ｃ++实现]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/78838439</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/78838439</guid><author>thinkerleo1997</author><pubDate>Mon, 08 Jan 2018 21:20:32 +0800</pubDate><description><![CDATA[Ｎ皇后问题（递归＋回溯）

采用Ｃ++仿函数技术实现的Ｎ皇后问题：



解决问题类：



//多皇后问题
class MultiQueens{
private:
    vectorint> queen_vec; //保存当前各个皇后的位置
    int solve;  //保存解的个数

    //检测当前第ｋ个皇后的位置是否合法
    bool Check(int k){]]></description><category></category></item><item><title><![CDATA[P2P通信基本原理与实现]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/78916960</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/78916960</guid><author>thinkerleo1997</author><pubDate>Wed, 27 Dec 2017 22:05:23 +0800</pubDate><description><![CDATA[对等网络，即对等计算机网络，是一种在对等者（Peer）之间分配任务和工作负载的分布式应用架构[1]  ，是对等计算模型在应用层形成的一种组网或网络形式。“Peer”在英语里有“对等者、伙伴、对端”的意义。因此，从字面上，P2P可以理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“端对端”，学术界则统一称为对等网络（Peer-to-peer networking）或对等计算（Peer-to-peer computing），其可以定义为：网络的参与者共享他们所拥有的一部分硬件资源（处理能力、存]]></description><category></category></item><item><title><![CDATA[为什么C++11引入了std::ref？]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/78828766</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/78828766</guid><author>thinkerleo1997</author><pubDate>Sun, 17 Dec 2017 22:52:33 +0800</pubDate><description><![CDATA[本文转载自：

https://www.cnblogs.com/jiayayao/p/6527713.html


如有侵权，通知删除




　　C++本身有引用（&），为什么C++11又引入了std::ref？

　　主要是考虑函数式编程（如std::bind）在使用时，是对参数直接拷贝，而不是引用。如下例子：



#include 
#include 
 
]]></description><category></category></item><item><title><![CDATA[C++中的智能指针（1）：shared_ptr 的介绍和用法]]></title><link>https://blog.youkuaiyun.com/thinkerleo1997/article/details/78754919</link><guid>https://blog.youkuaiyun.com/thinkerleo1997/article/details/78754919</guid><author>thinkerleo1997</author><pubDate>Sat, 16 Dec 2017 13:50:41 +0800</pubDate><description><![CDATA[原理简介C++中采用new和delete来创建（申请）和释放（销毁）内存，但是因为释放内存时机把握不当、忘记释放内存等原因，很难准确及时地管理内存。 
   因此，C++标准库推出了智能指针机制来更好的管理内存，智能指针能自动释放所指向的对象。shared_ptr简介shared_ptr 允许多个指针指向 同一个对象，它基于模板实现，默认初始化的智能指针中保存着一个空指针。当进行拷贝或者赋值操作时，]]></description><category></category></item></channel></rss>