C++11_第五篇

C++11_第五篇

bingliaolong C++ 6年前 35 0

标准库tuple类模板 tuple是类似pair的模板。 每个pair的成员类型都不相同,但每个pair都恰好有两个成员。 不同tuple类型的成员类型也不相同,但是一个tuple可以有任意数量的成员。 每个确定的tuple类型的成员数目是固定的,但一个tuple类型的成员数目可...

C++_线程池相关记述

C++_线程池相关记述

bingliaolong C++ 5个月前 8 0

线程池 任务管理 任务定义 动态数量任务同步 根据请求到的目标数量解析任务,创建任务,并投入线程池 当任务解析成功或者成功添加时,使用fetch_add递增 当某个线程处理完成后,使用--(*pending)递减 并判断当前pending是否已经为0,为0则进行相关逻辑

STL_容器适配器:stack记录

STL_容器适配器:stack记录

bingliaolong C++ 8个月前 14 0

概述 首先,stack是一个容器适配器 理论上,任何提供了 push_back(), pop_back(), back()等操作的序列容器都可以作为 stack的底层容器 为什么默认是deque deque之所以成为默认选择,是因为它在以下几个方面取得了最佳平衡: 相对于vect...

C++11_第一篇

C++11_第一篇

bingliaolong C++ 6年前 71 0

long long bool 布尔类型 未定义 char 字符 8位 wchar_t 宽字符 16位 char16_t Unicode字符 16位 char32_t Unicode字符 32位 short 短整型 16位 int 整型 32位 long 长整型 32位 long ...

C++11_第三篇

C++11_第三篇

bingliaolong C++ 6年前 31 0

shared_ptr类 简述内存的分配: 静态内存用来保存局部的static对象,类static数据成员,以及定义在函数之外的变量。 栈内存用于保存定义在函数内的非static对象。 分配在静态内存或者栈内存中的对象,由编译器自动创建或销毁。 对于栈对象,仅在其定义的程序块允许时...

C++_关于Async、Packaged_task、Promise的总结

C++_关于Async、Packaged_task、Promise的总结

bingliaolong C++ 8个月前 15 0

async 概述 用于简化异步任务执行的高级抽象 它的核心目标是让你能方便地启动一个任务并在未来获取其结果,而无需直接管理线程的生命周期、同步等底层细节 std::async可以看作是 std::promise, std::packaged_task和 std::thread的高...

深入理解C++11:C++11新特性解析与应用 三

深入理解C++11:C++11新特性解析与应用 三

bingliaolong C++ 4年前 23 0

新的改变 nullptr 在C++11中,nullptr是一个所谓“指针空值类型”的常量。 nullptr类型数据所占用的内存空间大小和void*是相同的。 nullptr和(void*)0 前者是一个编译时期常量 后者只是一个强制转换表达式,返回的也是一个void*指针类型。 ...

深入理解C++11:C++11新特性解析与应用 一

深入理解C++11:C++11新特性解析与应用 一 3

bingliaolong C++ 4年前 38 0

兼容性 预定义宏 __STDC_HOSTED__ 如果编译器的目标系统环境中包含完整的C库,那么这个宏就定义为1,否则值为0. __STDC__ C编译器通常用这个宏的值来表示编译器的实现是否与C标准一致。 C++11标准中这个宏是否定义以及定义成什么值由编译器决定。 __STD...

深入理解C++11:C++11新特性解析与应用 二

深入理解C++11:C++11新特性解析与应用 二 2

bingliaolong C++ 4年前 26 0

常用特殊 静态类型动态类型 主要区别在于对类型进行检查的时间点。 对于所谓的静态类型,类型检查主要发生在编译阶段。 对于动态类型,类型检查主要发生在运行阶段(和类型推导相关)。 auto auto声明变量的类型必须由编译器在编译时期推导而得。 auto声明的变量必须被初始化,以使...

扫一扫二维码分享