自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(68)
  • 资源 (4)
  • 收藏
  • 关注

转载 火山引擎实时、低延时拥塞控制算法的优化实践

火山引擎智能拥塞控制算法 VICC(Volcano Intelligent Congestion Control)是一种自适应的拥塞控制算法,旨在解决全球不同网络环境下,不同音视频应用对带宽利用率和延时的差异化要求。

2024-02-28 13:18:43 39

原创 GTest源码剖析(七)——断言

GTest源码剖析——断言GTest源码剖析断言ASSERT_TRUE宏1 ASSERT_TRUE宏 和 EXPECT_TRUE宏 的区别11 GTEST_MESSAGE_宏12 AssertHelper类2 ASSERT_TRUE宏的实现21 AssertionResult类1 ASSERT_TRUE宏ASSERT_TRUE宏和ASSERT_FALSE宏几乎认为无区别,仅仅是参数取反

2017-09-17 23:16:10 1168

原创 GTest源码剖析(六)——RUN_ALL_TESTS

GTest源码剖析——RUN_ALL_TESTSGTest源码剖析RUN_ALL_TESTSRUN_ALL_TESTS源码分析1 UnitTestRun2 HandleExceptionsInMethodIfSupported3 UnitTestImplRunAllTests5 TestCaseRun6 TestCaseRun7 TestRun参考1 RUN_ALL_TESTS()

2017-09-17 23:15:23 5836

原创 GTest源码剖析(五)——传入参数分析及InitGoogleTest

GTest源码剖析——传入参数分析及InitGoogleTestGTest源码剖析传入参数分析及InitGoogleTestInitGoogleTest源码分析1 InitGoogleTestImpl2 ParseGoogleTestFlagsOnly3 UnitTestImplPostFlagParsingInit4 UnitTestImplConfigureXmlOutput传入参数

2017-09-17 23:14:51 7608 1

原创 GTest源码剖析(四)——TEST_P宏

GTest源码剖析——TEST_P宏GTest源码剖析TEST_P宏TEST_P宏用法TestWithParam 类1 TestWithParam 类定义2 WithParamInterface 模版类定义INSTANTIATE_TEST_CASE_P宏1 INSTANTIATE_TEST_CASE_P宏展开2 参数生成器21 参数生成器Values22 ParamGenerato

2017-09-17 23:13:42 16069 1

原创 GTest源码剖析(三)——TEST_F宏

GTest源码剖析——TEST_F宏GTest源码剖析TEST_F宏TEST_F宏与TEST宏的区别1 TEST_F宏定义2 TEST宏定义3 对比分析31 拼接类对比32 调用MakeAndRegisterTestInfo传参对比TEST_F宏作用1 TestCase级扩展2 Test级扩展参考1 TEST_F宏与TEST宏的区别TEST_F宏和TEST宏的实现非常接近,只是

2017-09-17 23:13:02 5965

原创 GTest源码剖析(二)——TEST宏

GTest源码剖析——TEST宏GTest源码剖析TEST宏TEST宏定义源码解析1 生成测试用例唯一ID GetTestTypeId2 记录测试用例位置CodeLocation3 工厂函数TestFactoryImpl4 注册测试用例信息MakeAndRegisterTestInfo41 UnitTestImplAddTestInfo42 UnitTestImplGetTestCa

2017-09-17 23:11:37 2200 1

原创 GTest源码剖析(一)——概述

GTest源码剖析——概述GTest源码剖析概述概述GTest使用1 main函数2 TEST宏的使用3 TEST_F宏的使用4 TEST_P宏的使用参考1 概述Source: https://github.com/google/googletest Build:g++ -isystem ${GTEST_DIR}/include -I${GTEST_DIR} -pthread -

2017-09-17 23:10:08 1561

原创 UML常见类图关系及对应的plantUML语法

类图(Class Diagram)是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。 类图关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。

2017-09-15 21:42:38 14692 2

转载 C++函数中那些不可以被声明为虚函数的函数

出处:http://blog.csdn.net/hackbuteer1/article/details/6878255#comments常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。1、为什么C++不支持普通函数为虚函数?      普通函数(非成员函数)只能被overload,不能被override,声明为虚

2017-01-17 10:54:09 356

原创 剑指Offer之面试题37:两个链表的第一个公共结点

所有代码均通过G++编译器测试,仅为练手纪录。//面试题37:两个链表的第一个公共结点//题目:输入两个链表,找出它们的第一个公共结点。//面试题37:两个链表的第一个公共结点//题目:输入两个链表,找出它们的第一个公共结点。int GetListLength(ListNode *pHead){ int nLength = 0; List

2017-01-07 21:22:30 597

原创 剑指Offer之面试题36:数组中的逆序对

所有代码均通过G++编译器测试,仅为练手纪录。//面试题36:数组中的逆序对//题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。//    输入一个数组,求出这个数组中的逆序对的总数。//面试题36:数组中的逆序对//题目:在数组中的两个数字如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。//

2017-01-07 21:20:59 574

原创 剑指Offer之面试题35:第一个只出现一次的字符

所有代码均通过G++编译器测试,仅为练手纪录。//面试题35:第一个只出现一次的字符。//题目:在字符串中找出第一个只出现一次的字符。//    如输入“abaccdeff”,则输出'b'。//面试题35:第一个只出现一次的字符。//题目:在字符串中找出第一个只出现一次的字符。// 如输入“abaccdeff”,则输出'b'。char F

2017-01-07 21:19:07 697

原创 剑指Offer之面试题34:丑数

所有代码均通过G++编译器测试,仅为练手纪录。//面试题34:丑数//题目:我们把只包含因子2,3和5的数称作丑数(Ugly Number)。求按从小到大的顺序的第1500个丑数。//    例如6,8都是丑数,但14不是,因为它包含因子7.习惯上我们把1当作第一个丑数。//面试题34:丑数//题目:我们把只包含因子2,3和5的数称作丑数(Ugly

2017-01-07 21:17:33 561

原创 剑指Offer之面试题33:把数组排成最小的数

所有代码均通过G++编译器测试,仅为练手纪录。//面试题33:把数组排成最小的数//题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出所有数字中最小的一个。//    例如输入数组{3,32,321},则打印出这3个数字能排成的最小数字321323.//面试题33:把数组排成最小的数//题目:输入一个正整数数组,把数组里所有数字

2017-01-07 21:16:00 538

原创 剑指Offer之面试题32:从1到N整数1出现的次数

所有代码均通过G++编译器测试,仅为练手纪录。//面试题32:从1到N整数1出现的次数//题目:输入一个整数N,求从1到N这N个整数的十进制表示中1出现的次数。//    例如输入12,从1到12这些整数中包含1的数字有1,10,11和12,1一共出现了5次。//面试题32:从1到N整数1出现的次数//题目:输入一个整数N,求从1到N这N个整数的十进制

2017-01-07 21:14:24 747

原创 剑指Offer之面试题31:连续子数组的最大和

所有代码均通过G++编译器测试,仅为练手纪录。//面试题31:连续子数组的最大和//题目:输入一个整型数组,数组里面有正数也有负数。数组中一个或连续的多个整数组成一个字数组。。//    求所有子数组的和的最大值。要求时间复杂度为O(n)。//面试题31:连续子数组的最大和//题目:输入一个整型数组,数组里面有正数也有负数。数组中一个或连续的多个整数组

2017-01-07 21:12:21 432

原创 剑指Offer之面试题30:最小的K个数

所有代码均通过G++编译器测试,仅为练手纪录。//面试题30:最小的K个数//题目:输入N个整数,找出其中最小的K个数。//    例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4.//面试题30:最小的K个数//题目:输入N个整数,找出其中最小的K个数。// 例如输入4,5,1,6,2,7,3,8这8个数字

2017-01-07 21:10:56 577

原创 剑指Offer之面试题29:数组中出现次数超过一半的数字

所有代码均通过G++编译器测试,仅为练手纪录。//面试题29:数组中出现次数超过一半的数字//题目:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。//    例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2.//面试题29:数组中出现次数超过一半的数字//题目

2017-01-07 21:09:12 447

原创 剑指Offer之面试题28:字符串的排序

所有代码均通过G++编译器测试,仅为练手纪录。//面试题28:字符串的排序//题目:输入一个字符串,打印出该字符串中字符的所有排列。//     例如输入字符串“ abc”,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bca,cab和cba。//面试题28:字符串的排序//题目:输入一个字符串,打印出该字符串中字符的所有排列。//

2017-01-07 21:06:17 514

原创 剑指Offer之面试题27:二叉搜索树与双向链表

所有代码均通过G++编译器测试,仅为练手纪录。//面试题27:二叉搜索树与双向链表//题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。//    要求不能创建任何新的结点,只能调整树中结点指针的方向。//面试题27:二叉搜索树与双向链表//题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。// 要求不能创建任

2017-01-07 21:04:22 459

原创 剑指Offer之面试题26:复杂链表的复制

所有代码均通过G++编译器测试,仅为练手纪录。//面试题26:复杂链表的复制//题目:请实现函数ComplexListNode* Clone(ComplexListNode* pHead),复制一个复杂链表。//    在复杂链表中,每个结点除了有一个m_pNext指针指向下一个结点外,还有一个m_pSibling指向链表中的任意结点或者NULL。//面

2017-01-07 21:02:33 434

原创 剑指Offer之面试题25:二叉树中和为某一值的路径

所有代码均通过G++编译器测试,仅为练手纪录。//面试题25:二叉树中和为某一值的路径//题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。//    从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。//面试题25:二叉树中和为某一值的路径//题目:输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径

2017-01-07 21:00:10 668

转载 STL 的 erase() 陷阱-迭代器失效总结

看到总结的不错,mark一下。出处:http://blog.jobbole.com/109313/下面材料整理自Internet&著作。TL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。1

2016-12-25 23:04:17 562

原创 C++ STL容器内元素的类型约束

容器元素类型至少满足两个约束:(1)、元素类型必须支持赋值运算;(2)、元素类型的对象必须可以复制。顺序容器,如vector、list,基本上满足上述两个约束即可关联容器,如set、map出上述两个约束外,还要求键类型需要定义1、除引用类型外,所有内置或复合类型都可以用做元素类型。引用不支持一般意义的赋值运算(仅初始化时被复制)。2、除输入输出(IO)标准库

2016-12-25 21:37:58 787

原创 剑指Offer之面试题24:二叉搜索树的后序遍历序列

所有代码均通过G++编译器测试,仅为练手纪录。//面试题24:二叉搜索树的后序遍历序列//题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历的结果。//     如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。//面试题24:二叉搜索树的后序遍历序列//题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后续遍历

2016-12-25 19:26:20 407

原创 剑指Offer之面试题23:从上往下打印二叉树

所有代码均通过G++编译器测试,仅为练手纪录。//面试题23:从上往下打印二叉树//题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。//面试题23:从上往下打印二叉树//题目:从上往下打印出二叉树的每个结点,同一层的结点按照从左到右的顺序打印。void TreePrintBreadth(BinTreeNode *pRoot){

2016-12-25 19:25:07 511

原创 剑指Offer之面试题22:栈的压入、弹出序列

所有代码均通过G++编译器测试,仅为练手纪录。//面试题22:栈的压入、弹出序列//题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。//     假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压栈序列,//     序列4,5,3,2,1是该压栈序列对应的一个弹出序列,//     序列4,3,5,1,

2016-12-25 19:23:38 532

原创 剑指Offer之面试题21:包含min函数的栈

所有代码均通过G++编译器测试,仅为练手纪录。//面试题21:包含min函数的栈//题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。//     在该栈中,调用min/push/pop的时间复杂度都是O(1)。//面试题21:包含min函数的栈//题目:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的min函数。//

2016-12-25 19:21:52 824

原创 剑指Offer之面试题20:顺时针打印矩阵

所有代码均通过G++编译器测试,仅为练手纪录。//面试题20:顺时针打印矩阵//题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。//面试题20:顺时针打印矩阵//题目:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。void PrintMatrixCircle(int **ppNum,int nRow,int nCol,int

2016-12-25 19:20:27 491

原创 剑指Offer之面试题19:二叉树的镜像

所有代码均通过G++编译器测试,仅为练手纪录。//面试题19:二叉树的镜像//题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。//面试题19:二叉树的镜像//题目:请完成一个函数,输入一个二叉树,该函数输出它的镜像。void TreeMirror(BinTreeNode *pRoot){ if(NULL == pRoot) {

2016-12-25 19:18:37 413

原创 剑指Offer之面试题18:树的子结构

所有代码均通过G++编译器测试,仅为练手纪录。//面试题18:树的子结构//题目:输入两棵二叉树A和B,判断B是不是A的子结构。//面试题18:树的子结构//题目:输入两棵二叉树A和B,判断B是不是A的子结构。bool TreeCompre(BinTreeNode *pRootTree,BinTreeNode *pSubTree){ if(NULL

2016-12-25 19:17:07 466

原创 剑指Offer之面试题17:合并两个排序的链表

所有代码均通过G++编译器测试,仅为练手纪录。//面试题17:合并两个排序的链表//题目:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。//例如链表1{1,3,5,7}和链表2{2,4,6,8},则合并之后的升序链表如链表3{1,2,3,4,5,6,7,8}.//面试题17:合并两个排序的链表//题目:输入两个递增排序的链表,合

2016-12-25 19:15:33 455

原创 剑指Offer之面试题16:反转链表

所有代码均通过G++编译器测试,仅为练手纪录。//面试题16:反转链表//题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。//面试题16:反转链表//题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。ListNode *ListReverse(ListNode *pHead){ if (NUL

2016-12-25 19:14:06 435

原创 剑指Offer之面试题15:链表中倒数第K个结点

所有代码均通过G++编译器测试,仅为练手纪录。//面试题15:链表中倒数第K个结点//题目:输入一个链表,输出该链表中倒数第K个结点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾结点是倒数第1个结点。//例如一个链表有6个结点,从头结点开始它们的值依次是1,2,3,4,5,6.这个链表的倒数第3个结点是值为4的结点//面试题15:链表中倒数第K个结点/

2016-12-25 19:12:28 524

原创 剑指Offer之面试题14:调整数组顺序使奇数位于偶数前面

所有代码均通过G++编译器测试,仅为练手纪录。//面试题14:调整数组顺序使奇数位于偶数前面//题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,//     使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。//面试题14:调整数组顺序使奇数位于偶数前面//题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,// 使

2016-12-24 22:04:09 350

原创 剑指Offer之面试题13:在O(1)时间删除链表结点

所有代码均通过G++编译器测试,仅为练手纪录。//面试题13:在O(1)时间删除链表结点//题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。//面试题13:在O(1)时间删除链表结点//题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。struct ListNode{ int m_nValu

2016-12-24 22:02:30 443 3

原创 剑指Offer之面试题12:打印1到最大的N位数

所有代码均通过G++编译器测试,仅为练手纪录。//面试题12:打印1到最大的N位数//题目:输入数字N,按顺序打印出从1到最大的N位十进制数。比如输入3,则打印出1,2,3一直到最大的三位数即999。//面试题12:打印1到最大的N位数//题目:输入数字N,按顺序打印出从1到最大的N位十进制数。比如输入3,则打印出1,2,3一直到最大的三位数即999。void

2016-12-24 22:00:40 660

原创 剑指Offer之面试题11:数值的整数次方

//面试题11:数值的整数次方//题目:实现函数double Power(double base,int exponent),求base的exponent次方。//     不得使用库函数,同时不需要考虑大数问题//面试题11:数值的整数次方//题目:实现函数double Power(double base,int exponent),求base的exponent次方。//

2016-12-24 21:58:34 357

原创 剑指Offer之面试题10:二进制中1的个数

所有代码均通过G++编译器测试,仅为练手纪录。//面试题10:二进制中1的个数//题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。//     例如把9表示成二进制是1001,有2位是1。因此如果输入9,该函数输出2.//面试题10:二进制中1的个数//题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。// 例如把9

2016-12-24 12:29:34 427

最全VS2010初级教程学习手册

最全VS2010初级教程学习手册,比较适用于初学者

2012-11-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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