C++

C++标准模板库编程实战_适配器

C++标准模板库编程实战_适配器

bingliaolong 2年前 8 0

概述 适配容器是一个封装了序列容器的类模板,它在一般序列容器的基础上提供了一些不同的功能。 stack<T> 是一个封装了deque<T>容器的适配器类模板,默认实现是一个后入先出的压入栈 queue<T> 是一个封装了deque<T>容器的适...

C++标准模板库编程实战_序列容器

C++标准模板库编程实战_序列容器

bingliaolong 2年前 7 0

简述 array<T,N> 长度固定,N个T类型的对象 不能增加或删除元素 vector<T> 底层实现是封装了顺序表,是一块物理上连续的空间 长度可变,必要时可以自动增加容量 但只能在序列的末尾高效的增加或删除元素 deque<T> deque是由一段一...

C++标准模板库编程实战_智能指针

C++标准模板库编程实战_智能指针

bingliaolong 2年前 9 0

模板 模板是一组函数或类的参数实现。 编译器能够在需要使用函数或类模板时,用模板生成一个具体的函数或者类的定义。 也可以定义参数化类型的模板,因此模板并不是可执行代码,而是用于生成代码的蓝图或配方 因此一个从来没有被使用过的模板,它会被编译器忽略,不会生成可执行代码。 也就是说,...

C++并发编程 _ 基于锁的数据结构

C++并发编程 _ 基于锁的数据结构

bingliaolong 3年前 9 0

意义 设计并发数据结构,意味着多个线程可以并发的访问这个数据结构,线程可对这个数据结构做相同或不同的操作,并且每一个线程都能在自己的自治域中看到该数据结构。且在多线程环境下,无数据丢失和损毁,所有的数据需要维持原样,且无条件竞争。这样的数据结构,称之为“线程安全”的数据结构。 本...

C++并发编程 _ 内存模型原子操作

C++并发编程 _ 内存模型原子操作 5

bingliaolong 3年前 22 0

内存模型 对象和内存位置 在一个C++程序中的所有数据都是由对象(objects)构成。 无论对象是怎么样的一个类型,一个对象都会存储在一个或多个内存位置上。 每一个内存位置不是一个标量类型的对象,就是一个标量类型的子对象,比如,unsigned short,my_calss*或...

C++14_第二篇

C++14_第二篇

bingliaolong 3年前 8 0

函数返回值类型推导用于模板 变量模板 别名模板 std::shared_timed_mutex与std::shared_lock C++14通过std::shared_timed_mutex和std::shared_lock来实现读写锁,保证多个线程可以同时读,但是写线程必须独立...

C++标准库_chrono

C++标准库_chrono

bingliaolong 3年前 7 0

类 duration count 内部计数,不一定是值 time_point system_clock now 获取当前时间 steady_clock high_resolution_clock treat_as_floating_point duration_values co...

C++标准库_cfenv

C++标准库_cfenv

bingliaolong 3年前 4 0

类型 fenv_t 浮点环境类型 可以表示浮点环境 整个状态的类型,包括其状态标志(如活动浮点异常)和控制模式(如舍入方向模式) fexcept_t 浮点异常类型 可以共同表示所有浮点状态标志的状态的类型,包括活动的浮点异常以及实现与它们的状态相关联的任何附加信息 函数 int ...

深度探索C++对象模型一

深度探索C++对象模型一

bingliaolong 3年前 15 0

关于对象 概述 C语言中,数据和处理数据的操作是分开的。 C++中,可能采用独立的抽象数据类型。 加上封装后的布局成本 virtual function 用以支持一个有效率的“运行期绑定“。 virtual base class 用以实现”多次出现在继承体系中的基类有一个单一而被...

Protobuf记述与使用

Protobuf记述与使用 5

bingliaolong 3年前 8 0

理解 protobuf允许不同编程语言的程序员 以自己熟悉的方式在.proto文件里定义消息结构 然后protobuf的引擎把这个.proto文件里描述的消息结构进行解析,最后生成对应语言的代码,这些代码里描述了之前定义的消息结构 然后在项目中,需要用到这些消息结构的模块,只需引...

扫一扫二维码分享