灿哥哥的博客

专注技术,热爱分享

排序:
默认
按更新时间
按访问量

WebRTC的拥塞控制和带宽策略

网络的波动带来的卡顿直接影响着用户的体验,在WebRTC中设计了一套基于延迟和丢包反馈的拥塞机制(GCC)和带宽调节策略来保证延迟、质量和网路速度之间平衡,本文中重点是介绍基于trendline滤波的评估模型。本文来自学霸君资深架构师袁荣喜和萍乡学院辛锋的投稿,并由LiveVideoStack全文...

2018-05-29 14:30:53

阅读数:196

评论数:1

libevent学习之七:Reactor模式

       学习libevent有助于提升程序设计功力,除了网络程序设计方面外,libevent的代码里有很多有用的设计技巧和基础数据结构,比如信息隐藏、函数指针、c语言的多态支持、链表和堆等等,都有助于提升自身的程序功力。       程序设计不止要了解框架,很多细节之处恰恰也是事关整个系统成...

2018-05-24 15:54:58

阅读数:55

评论数:0

C++笔试题之两个线程轮流(交替)打印A和B

这里使用C++11的线程语法来实现,一个线程打印A,一个线程打印B,交替进行。#include <thread> #include <iostream> #include <mutex&a...

2018-05-21 16:28:02

阅读数:77

评论数:1

C++11新特性之十一:emplace

emplace操作是C++11新特性,新引入的的三个成员emlace_front、empace 和 emplace_back,这些操作构造而不是拷贝元素到容器中,这些操作分别对应push_front、insert 和push_back,允许我们将元素放在容器头部、一个指定的位置和容器尾部。两者的区...

2018-05-21 12:22:21

阅读数:70

评论数:0

C++11并发学习之六:线程池的实现

首先感谢github上大神的分享:https://github.com/progschj/ThreadPool代码非常的见解,只有一个头文件ThreadPool.h,这里贴出来作为备份。#ifndef THREAD_POOL_H #define THREAD_POOL_H #include &a...

2018-05-19 15:31:15

阅读数:77

评论数:0

Effective C++笔记之十五:inline函数的里里外外

1.inline函数简介inline函数是由inline关键字来定义,引入inline函数的主要原因是用它替代C中复杂易错不易维护的宏函数。2.编译器对inline函数的处理办法inline对于编译器而言,在编译阶段完成对inline函数的处理。将调用动作替换为函数的本体。但是它只是一种建议,编译...

2018-05-18 18:40:38

阅读数:39

评论数:0

Effective C++笔记之十四:以pass-by-reference-to-const替换pass-by-value

       缺省情况下C++ 以by value方式(一个继承自C 的方式)传递对象至(或来自)函数。函数参数都是以实际实参的复件(副本)为初值。这些复件(副本)系由对象的copy构造函数产出,这可能使得pass-by-value成为昂贵的(费时的)操作。考虑以下class 继承体系:class...

2018-05-18 17:25:23

阅读数:27

评论数:0

Effective C++笔记之十三:以独立语句将newed对象置入智能指针

        假设我们有个函数用来揭示处理程序的优先权,另一个函数用来在某动态分配所得的Widget 上进行某些带有优先权的处理:int priority () ; void processWidget(std::trl::shared_ptr<Widget&a...

2018-05-18 17:04:43

阅读数:26

评论数:0

Effective C++笔记之十二:成对使用new和delete时要采取相同形式

       以下动作有什么错?std::string* stringArray = new std::string[100]; ...... delete stringArray;        每件事看起来都井然有序。使用了new,也搭配了对应的delete。但还是有某样东西完全错误...

2018-05-18 16:31:05

阅读数:26

评论数:0

Effective C++笔记之十一:复制对象时勿忘其每一个成分

       设计良好之面向对象系统(OO-systems )会将对象的内部封装起来,只留两个函数负责对象拷贝(复制),那便是带着适切名称的copy构造函数和copy assignment操作符,我称它们为copying 函数。编译器会在必要时候为我们的classes创建copying 函数,并说...

2018-05-18 16:10:22

阅读数:21

评论数:0

Effective C++笔记之十:令operator= 返回一个reference to *this

       关于赋值,有趣的是你可以把它们写成连锁形式:int x, y, z;x = y = z = 15; // 赋值连锁形式       同样有趣的是,赋值采用右结合律,所以上述连锁赋值被解析为:x = (y = (z = 15));       这里15 先被赋值给z,然后其结果(更新后...

2018-05-18 15:26:43

阅读数:23

评论数:0

Effective C++笔记之九:绝不在构造和析构过程中调virtual函数

       本条款开始前我要先阐述重点2:你不该在构造函数和析构函数期间调用virtual函数,因为这样的调用不会带来你预想的结果,就算有你也不会高兴。如果你同时也是一位Java 或C# 程序员,请更加注意本条款,因为这是C++ 与它们不相同的一个地方。       假设你有个class 继承体...

2018-05-18 15:17:59

阅读数:20

评论数:0

C++笔试题之判断链表中是否有环,并计算环的长度

       判断链表中是否有环最经典的方法就是快慢指针,同时也是面试官大多想要得到的答案。       快指针pf(f就是fast的缩写)每次移动2个节点,慢指针ps(s为slow的缩写)每次移动1个节点,如果快指针能够追上慢指针,那就说明其中有一个环,否则不存在环。       这个方法的时间...

2018-05-18 14:35:31

阅读数:82

评论数:0

C++笔试题之实现单链表两两反转(置换)

两两反转单链表就是把每两个数反转一次。如:A -> B -> C ->D -> E -> F两两反转后变为 B -> A -> D -&...

2018-05-18 13:22:39

阅读数:87

评论数:0

递归函数内部的执行顺序

#include <stdio.h> void fun(int n) { printf("1th - Level: %d Address: %d\n", n, &n)...

2018-05-18 12:39:41

阅读数:113

评论数:0

C++笔试题之回旋(螺旋)矩阵

回旋矩阵,顾名思义,就是从外圈数字由小到大旋转到内圈的N阶矩阵。2阶回旋矩阵1  24  33阶回旋矩阵1  2  3 8  9  4 7  6  54阶回旋矩阵  1   2   3   412  13  14  5     11  16  15  6      10   9   8   7一....

2018-05-17 17:16:50

阅读数:28

评论数:0

OpenGL之glPolygonMode函数的用法

1.绘制模式在绘制多边形时除了默认的填充方式,还可以使用点和线使用glPolygonMode函数来设置模式三种不同模式下的绘图 GL_FILL GL_LINEGL_POINT2.多边形的两面如果以顺时针绘制则是反面,逆时针绘制则是正面 // 设置正面为填充模式 glPolygonMode(GL_F...

2018-05-17 14:41:07

阅读数:62

评论数:0

Qt5版NeHe OpenGL教程之十:飘动的旗帜

这一课将把如下图片做成一个飘动的旗帜,其实主要还是用到了纹理映射。lesson10.h#ifndef LESSON10_H #define LESSON10_H #include <QWindow> #include <QOpen...

2018-05-17 14:19:17

阅读数:53

评论数:0

Qt5版NeHe OpenGL教程之九:加载3D世界,并在其中漫游

这一课就要解释一个基本的3D世界"结构",以及如何在这个世界里游走。lesson9.h#ifndef LESSON9_H #define LESSON9_H #include <QWindow> #include &...

2018-05-17 11:01:20

阅读数:99

评论数:0

Qt5版NeHe OpenGL教程之八:3D空间中移动图像

       欢迎进入第八课。到现在为止,您应该很好的理解OpenGL了。您已经学会了设置一个OpenGL窗口的每个细节。学会在旋转的物体上贴图并打上光线以及混色(透明)处理。       这一课应该算是第一课中级教程。您将学到如下的知识:在3D场景中移动位图,并去除位图上的黑色象素(使用混色)。...

2018-05-16 19:05:22

阅读数:52

评论数:0

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