![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++汇总
文章平均质量分 80
sevencheng798
潜心为学
展开
-
C++ pair的基本用法总结(整理)
1,pair的应用pair是将2个数据组合成一组数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存。另一个应用是,当一个函数需要返回2个数据的时候,可以选择pair。 pair的实现是一个结构体,主要的两个成员变量是first second 因为是使用struct不是class,所以可以直接使用pair的成员变量。其标准库类型--pair类......原创 2018-08-22 09:36:22 · 499599 阅读 · 44 评论 -
Gtest入门1:安装和使用
Gtest介绍gtest是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架,由google公司发布。gtest是为在不同平台上为编写C++测试而生成的。它提供了丰富的断言、致命和非致命判断、参数化、”死亡测试”等等。一句话就是Gtest提供了一种自动化测试程序的框架。方便快速的验证程序的逻辑性和健壮性。...原创 2019-05-08 15:05:42 · 11506 阅读 · 6 评论 -
C++泛型编程基本概念
写在前面: 0. 所谓泛型编程就是独立于任何特定类型的方式编写代码,使用泛型程序时,需要提供具体陈旭实例所操作的类型或者值。我们经常用到STL容器、迭代器、和算法都是泛型编程的例子;模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数...转载 2019-03-13 18:33:57 · 11233 阅读 · 1 评论 -
C++11 deque用法总结(整理)
C++11 deque用法总结(整理)deque 简介新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入dequ...原创 2019-03-13 15:50:56 · 12962 阅读 · 0 评论 -
C++ tuple元组的基本用法(总结)
1,元组简介 tuple是一个固定大小的不同类型值的集合,是泛化的std::pair。我们也可以把他当做一个通用的结构体来用,不需要创建结构体又获取结构体的特征,在某些情况下可以取代结构体使程序更简洁,直观。std::tuple理论上可以有无数个任意类型的成员变量,而std::pair只能是2个成员,因此在需要保存3个及以上的数据时就需要使用tuple元组了。 tuple(元组...原创 2019-03-12 17:02:41 · 126522 阅读 · 12 评论 -
C++11新特性:设置default属性的构造函数有什么作用
1. 什么是默认构造函数首先默认构造函数的目的是,如果程序员没有显式地为一个类定义某个特殊成员函数而又需要用到该特殊成员函数时,则编译器会隐式的为这个类生成一个默认的特殊成员函数。我们一般会认为默认构造函数就是编译器自动生成的那个构造函数,其实这种理解不全面。准确的说,默认构造函数就是在调用时不需要显示地传入实参的构造函数。根据这个原则,下面2种构造函数都是默认构造函数;class...原创 2019-03-07 18:03:09 · 21322 阅读 · 7 评论 -
c++ 子类构造函数初始化及父类构造初始化
我们知道,构造方法是用来初始化类对象的。如果在类中没有显式地声明构造函数,那么编译器会自动创建一个默认的构造函数;并且这个默认的构造函数仅仅在没有显式地声明构造函数的情况下才会被创建创建。 构造函数与父类的其它成员(成员变量和成员方法)不同,它不能被子类继承。因此,在创建子类对象时,为了初始化从父类中继承来的成员变量,编译器需要调用其父类的构造函数。如果子类的构造函数没有显示地调...原创 2018-08-30 15:58:50 · 72843 阅读 · 14 评论 -
C++ thread用法总结(整理)
1,简介C++11中加入了<thread>头文件,此头文件主要声明了std::thread线程类。C++11的标准类std::thread对线程进行了封装,定义了C++11标准中的一些表示线程的类、用于互斥访问的类与方法等。应用C++11中的std::thread便于多线程程序的移值。std::thread类成员函数:(1)、get_id:获取线程ID,返回一个类型为std...原创 2018-08-29 17:25:32 · 99293 阅读 · 5 评论 -
C++ set用法总结(整理)
http://www.cplusplus.com/reference/set/set/insert/顺序容器包括vector、deque、list、forward_list、array、string,所有顺序容器都提供了快速顺序访问元素的能力。关联容器包括set、map关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的。与之相对,顺序容器中的元素是按它们在容器中...原创 2018-08-21 15:59:25 · 135302 阅读 · 10 评论 -
C++ vector的用法总结(整理)
vector 是向量类型,它可以容纳许多类型的数据,如若干个整数,所以称其为容器。它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的。vector 是C++ STL的一个重要成员,使用它时需要包含头文件: #include<vector>构造函数 语法: vector(); vector( size_typ...原创 2018-08-21 14:23:14 · 14503 阅读 · 4 评论 -
C++11 新特性
1 变量和基本类型1.1 long long 类型扩展精度浮点数,10位有效数字1.2 列表初始化初始化的几种不同形式,其中用花括号来初始化变量称为列表初始化;比如:int i = 0;int i = {0}; // 新特性int i(0);int i{0}; // 新特性需要注意的是,当用于内置类型的变量时,这种初始化形式有一个重要的特点:...原创 2018-08-20 15:02:04 · 1286 阅读 · 0 评论 -
C++11列表初始化 - 花括号的使用
C++11之前主要有以下几种初始化方式://小括号初始化string str("hello");//等号初始化string str="hello";//POD对象与POD数组列表初始化struct Studnet{ char* name; int age;};Studnet s={"dablelv",18}; //纯数据(Plain of Data,POD...转载 2018-08-17 16:11:45 · 20476 阅读 · 1 评论 -
为什么static成员变量一定要在类外初始化?
<转>1、为什么静态成员不能在类内初始化?在C++中,类的静态成员(static member)必须在类内声明,在类外初始化,像下面这样。class A{private:static int count ; // 类内声明};// 类外定义并初始化,不必再加static关键字int A::count = 0 ; 或者只进行定义不赋初始值,但是默认...转载 2018-08-17 10:07:01 · 27574 阅读 · 10 评论 -
C++ map用法总结(整理)
1,map简介map是STL的一个关联容器,它提供一对一的hash。第一个可以称为关键字(key),每个关键字只能在map中出现一次; 第二个可能称为该关键字的值(value);map以模板(泛型)方式实现,可以存储任意类型的数据,包括使用者自定义的数据类型。Map主要用于资料一对一映射(one-to-one)的情況,map內部的实现自建一颗红黑树,这颗树具有对数据自动排序的功能。在...原创 2018-08-22 16:16:38 · 660127 阅读 · 72 评论 -
Gtest入门2 Gtest之TEST宏的用法
Googletest宏的用法(整理)1. TestCase的介绍2. TEST宏3. TEST_F宏4. TEST_P宏5. EXPECT_*和ASSERT_*的宏介绍5.1.gtest之断言5.2. gtest断言分类5.2.1 Boolean断言类型5.2.2 二元值断言类型5.2.3 字符串断言类型6. EXPECT_CALL7. 调用测试1. TestCase的介绍本章节主要介绍在使用...原创 2019-05-08 20:10:01 · 13755 阅读 · 1 评论