自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 博客迁移

博客迁移博客将在未来几个月内迁移到Github,届时欢迎关注新博客。 博客将在未来几个月内迁移到Github,届时欢迎关注新博客。

2018-12-03 17:39:49 204 0

原创 WebRTC中peerconnection示例工程结构分析

WebRTC Native代码相当的大(大约200Mb),开始的时候对这些代码真的是一头雾水,最后决定先从example中的peerconnection先看起。 peerconnection例子分为client端和server端,多个client加入对话,server负责信令的处理,这里主要讨论...

2018-07-15 09:25:00 1942 0

转载 左值、左值引用、右值、右值引用

转载自:http://www.cnblogs.com/SZxiaochun/p/8017475.html 左值、左值引用、右值、右值引用 1、左值和右值的概念 左值是可以放在赋值号左边可以被赋值的值;左值必须要在内存中有实体; 右值当在赋值号右边取出值赋...

2018-06-20 22:42:50 304 0

原创 C++11:尽量使用std::array来代替数组

C++11后,标准库引入了更现代化的数组std::array,cppreference.com是这样介绍的: 定义于头文件 <array> template< class T, std::size_t N &...

2018-05-23 09:38:34 28249 0

原创 C++11中的“万能引用”

首先我们来看一个函数模板的代码: template<typename T> void func(T& param){ } 这里模板函数参数接收一个引用,但是却不能这样调用: func(27); //error: invalid initializa...

2018-05-23 09:09:06 2593 0

转载 【转载】 webrtc中的网络反馈与控制

原地址:http://www.befoio.com/4206.html一、引言站在风口上,猪都能飞起来。雷布斯的这句名言,已经被大家传的家喻户晓了,说起当下站在风口上的猪,除了丁老板的未央猪,这头实实在在的猪,视频直播应该可以算一个。今年各种直播平台,各个轮次的融资消息应接不暇。对于互联网技术从业...

2018-05-18 17:00:02 203 0

转载 C++11的enum class 、enum struct 和 enum

原文地址:https://blog.csdn.net/sanoseiichirou/article/details/50180533侵删C++标准文档——n2347(学习笔记) 链接:http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n...

2018-05-17 19:49:35 6029 1

转载 WebRTC in the real world: STUN, TURN and signaling

By Sam DuttonPublished: November 4th, 2013Updated: November 4th, 2013Comments: 9WebRTC enables peer to peer communication.BUT...WebRTC still needs se...

2018-05-16 15:33:17 225 0

原创 WebRTC简介与代码架构

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

2018-05-16 11:11:08 7044 0

转载 AES加密算法(Rijndael算法)

此文章为转载,如有侵权,通知删除 原地址:https://blog.csdn.net/zfpigpig/article/details/8526016 上周好几天都在搞AES,总算是把Rijndael算法搞明白了。本片会仔细介绍AES(Rijndael算法),后两篇会介绍AES的ja...

2018-05-09 14:52:32 5692 2

转载 RTP/RTCP 和 SRTP/SRTCP协议

此文章为转载,如有侵权,通知删除 原地址:https://blog.csdn.net/swallow_he/article/details/74202104 RTP/RTCP 和 SRTP/SRTCP协议 1 RTP RTP 协议(Real TimeProt...

2018-05-07 23:47:10 9970 0

原创 一个简单引用计数智能指针的实现

template <typename T> class SharedPtr{ public: SharedPtr() = delete;//不允许未初始化的智能指针,防止使用空指针 SharedPtr(const SharedPtr&)...

2018-05-06 17:51:02 133 0

原创 C++ throw()关键词:一个被C++标准抛弃的玩意儿

throw()关键词相信大家在很多C++教程或者代码中看到过,这个博客以一Stackoverflow上的问题开始:应该在C++中使用throw()关键词吗? 回答是:不应该 理由主要是各个编译器并没有一个统一的标准去处理这个关键词,还有这个关键词作用很累赘等等,总之是不应该的。 Anyw...

2018-05-06 17:44:13 12657 3

转载 C++模版与特化与偏特化

模版与特化的概念函数模版与类模版C++中模板分为函数模板和类模板函数模板:是一种抽象函数定义,它代表一类同构函数。类模板:是一种更高层次的抽象的类定义。特化的概念所谓特化,就是将泛型的东东搞得具体化一些,从字面上来解释,就是为已有的模板参数进行一些使其特殊化的指定,使得以前不受任何约束的模板参数,...

2018-05-04 17:06:48 85 0

原创 《Effective C++》:学习处理模板化基类内的名称

假设有以下需求: 要给N个公司发信息,目前有Alibaba、Microsoft、Amazon三家公司,给Microsoft、Amazon发送明文,给Alibaba发送密文(特殊情况),可以用C++模板技术来实现。 class Alibaba{ public: //给Alibaba发...

2018-05-04 16:44:23 102 0

原创 扩展型归并排序(模板+仿函数)

写了一个类似STL中的sort用法的归并排序,可以以函数形式传入排序规则。 #include #include #include #include using namespace std; template typename T> class MergeSort{ public...

2018-02-07 16:38:32 149 0

原创 N皇后问题(递归+回溯)的C++实现

N皇后问题(递归+回溯) 采用C++仿函数技术实现的N皇后问题: 解决问题类: //多皇后问题 class MultiQueens{ private: vectorint> queen_vec; //保存当前各个皇后的位置 int solve; //保存解的个...

2018-01-08 21:20:32 334 0

转载 P2P通信基本原理与实现

对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构[1] ,是对等计算模型在应用层形成的一种组网或网络形式。“Peer”在英语里有“对等者、伙伴、对端”的意义。因此,从字面上,P2P可以理解为对等计算或对等网络。国内一些媒体将P2P翻译成“点对点”或者“...

2017-12-27 22:05:23 340 0

转载 为什么C++11引入了std::ref?

本文转载自: https://www.cnblogs.com/jiayayao/p/6527713.html 如有侵权,通知删除   C++本身有引用(&),为什么C++11又引入了std::ref?   主要是考虑函数式编程(如std::bind)...

2017-12-17 22:52:33 999 0

原创 C++中的智能指针(1):shared_ptr 的介绍和用法

原理简介C++中采用new和delete来创建(申请)和释放(销毁)内存,但是因为释放内存时机把握不当、忘记释放内存等原因,很难准确及时地管理内存。 因此,C++标准库推出了智能指针机制来更好的管理内存,智能指针能自动释放所指向的对象。shared_ptr简介shared_ptr 允许多个...

2017-12-16 13:50:41 4665 0

原创 C++中lambda表达式(匿名函数)的用法

简介之前在看SICP《计算机程序的构造和解释》一书的时候,中用了大量的Scheme语言(一种Lisp语言的方言)来解释书中的函数式程序设计思想(只读到第二章后半部。。。有空再补)。Scheme的一个主要特性是可以像操作数据一样操作函数调用, 例如实现对一个操作生成的数乘以二的函数:;这是一个实现...

2017-12-06 22:47:58 433 0

原创 C++中的委托构造

委托构造,就是构造函数调用其他的构造函数来完成构造过程,其他的构造函数写在成员初始列表中。using namespace std;class base{ private: int a; public: //非委托函数使用相应的实参初始化相应的实参初始化成员 base(int...

2017-11-30 23:11:54 236 0

转载 Google C++ 风格指南 :尽可能用 sizeof(varname) 代替 sizeof(type).

5.18. sizeof Tip 尽可能用 sizeof(varname) 代替 sizeof(type). 使用 sizeof(varname) 是因为当代码中变量类型改变时会自动更新. 您或许会用 sizeof(type) 处理不涉及任何变量的代码,比如处理来自外部或内部的数据格...

2017-11-29 17:12:30 383 0

原创 《UNIX网络编程》中五种I/O方式总结和对比

UNIX提供了五种不同的I/O模型: 阻塞式I/O模型 非阻塞式I/O模型 I/O复用模型 信号驱动式I/O模型 异步I/O模型 阻塞式I/O模型阻塞式I/O模型是最基本的I/O模型。在默认情况下,所有套接字都是阻塞的,以数据报套接字为例:当系统调用recvfrom系统调用函数时,当内核socke...

2017-11-29 13:16:39 2893 0

原创 C++ 11:delete关键词和一条《Effective C++》的过时条款

C++ 11:delete关键词和一条《Effective C++》的过时条款

2017-11-24 00:53:34 664 0

原创 C++中const的用法:使代码更加健壮

本文将从三个方面来讨论const带来的代码健壮性:const在变量中的用法,const在函数中的用法,const作为返回值的用法。const在变量中的用法代码示例:int num = 1; const int a = 1; //a的值不能被改变 const int *b = &n...

2017-11-23 21:50:15 1671 0

原创 C++中的Unicode编码:wchar, UTF-8,UTF-16,UTF-32

C++在C11标准中加入了对Unicode编码的支持,新增了wchar_t、char16_t、char32_t内置数据类型。 cout << sizeof(char) << endl; cout << sizeof(wchar_t) <<...

2017-11-14 20:29:34 1409 0

转载 字符编码笔记:ASCII,Unicode 和 UTF-8

字符编码笔记:ASCII,Unicode 和 UTF-8 作者: 阮一峰 日期: 2007年10月28日 一、ASCII 码 我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状...

2017-11-14 08:42:59 164 0

原创 LintCode 二叉树的路径和

样例 给定一个二叉树,和 目标值 = 5: 1 / \ 2 4 / \ 2 3 返回: [ [1, 2, 2], [1, 4] ] 解法:DFS,注意路径和的概念,要到叶子节点 AC代码: class Solution { public: ...

2017-11-12 19:17:11 238 0

原创 LintCode 二叉树的最大节点

样例 给出如下一棵二叉树: 1 / \ -5 2 / \ / \ 0 3 -4 -5 返回值为 3 的节点。 URL:http://www.lintcode.com/zh-cn/problem/binar...

2017-11-12 16:43:14 171 0

原创 LintCode 最大子数组(dp)

**> 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。 样例 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6**地址:http://www.lintcode.com/zh-cn/problem/maximum-...

2017-11-05 17:09:41 464 2

原创 求绝对众数

问题:绝对众数指的是,给定N个数字,若某个众数出现次数大于N/2,则称这个众数为绝对众数。 举例: vec = {1,2,3,1,5,6,1,1,1,1},中有10个元素,1占了6个,所以称1为绝对众数 算法:在N个元素中,删除两个不相同的数字,绝对众数不变, 分类讨论证明:被删的数字有...

2017-11-05 10:29:15 254 0

原创 《Effective C++》条款25:考虑写出一个不抛异常的swap函数

swap是两个元素交换的函数,在STL中也有对应的实现,其基本实现为:namespace std{ template<typename T> void swap(T& a, T& b){ T temp(a); a = b;...

2017-10-25 14:05:03 170 0

原创 LintCode 二分查找

给定一个排序的整数数组(升序)和一个要查找的整数target,用O(logn)的时间查找到target第一次出现的下标(从0开始),如果target不存在于数组中,返回-1。 题目地址:http://www.lintcode.com/zh-cn/problem/first-position-...

2017-10-21 21:54:50 2489 0

转载 Go语言进行web开发(三) Go中的WebSocket编程

8.2 WebSocket WebSocket是HTML5的重要特性,它实现了基于浏览器的远程socket,它使浏览器和服务器可以进行全双工通信,许多浏览器(Firefox、Google Chrome和Safari)都已对此做了支持。 在WebSocket出现之前,为了实现即时通信,采...

2017-10-15 11:18:10 6905 1

转载 Go语言进行web开发(二) Go中的Socket编程

8.1 Socket编程 在很多底层网络应用开发者的眼里一切编程都是Socket,话虽然有点夸张,但却也几乎如此了,现在的网络编程几乎都是用Socket来编程。你想过这些情景么?我们每天打开浏览器浏览网页时,浏览器进程怎么和Web服务器进行通信的呢?当你用QQ聊天时,QQ进程怎么和服务器或者是你...

2017-10-15 10:54:20 4080 0

原创 Go语言进行web开发(一) 搭建一个简单的web服务器

Go语言也被成为“自带电池”的语言,有大量的web相关工具集成在其中,构建web应用成了一件信手拈来的事情,只要调用http包的两个函数就可以了。package mainimport ( "fmt" "net/http" "...

2017-10-09 21:07:26 5278 0

原创 Go语言学习 面向对象

首先,我们先来看一段代码示例package mainimport "fmt"type Human struct { name string age int phone string }type Student struct { Human //匿...

2017-10-09 20:24:29 308 0

转载 C++内存泄漏的几种情况

原文地址:http://www.cnblogs.com/SeekHit/p/6549940.html#commentform 1. 在类的构造函数和析构函数中没有匹配的调用new和delete函数 两种情况下会出现这种内存泄露:一是在堆里创建了对象占用了内存,但是没有显示地释放对象占用...

2017-10-08 12:43:33 2335 0

原创 LintCode 字符串查找(暴力法+KMP)

URL:http://www.lintcode.com/zh-cn/problem/strstr/ 对于一个给定的 source 字符串和一个 target 字符串,你应该在 source 字符串中找出 target 字符串出现的第一个位置(从0开始)。如果不存在,则返回 -1。 暴力法: ...

2017-10-07 16:31:33 2326 0

提示
确定要删除当前文章?
取消 删除