C++

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

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

bingliaolong 2年前 9 0

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

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

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

bingliaolong 2年前 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文件里描述的消息结构进行解析,最后生成对应语言的代码,这些代码里描述了之前定义的消息结构 然后在项目中,需要用到这些消息结构的模块,只需引...

Json库RapidJson使用

Json库RapidJson使用

bingliaolong 3年前 13 0

概述 json是JS对象表示语法的子集。 Json语法 规则 大括号保存对象 中括号保存数组 值 数字 整数 浮点数 字符串 双引号括起来 逻辑值 true false 数组 对象 null rapidjson 概述 把include文件夹拷贝到项目。 在工程中引入。 关于doc...

C++编程规范101规则、准则与最佳实践 二

C++编程规范101规则、准则与最佳实践 二

bingliaolong 3年前 16 0

命名空间与模块 将类型及其成员函数接口置于同一命令空间中 如果要将非成员函数(特别是操作符和辅助函数)设计成类X的接口的一部分,那么就必须在与X相同的命名空间中定义它们,以便正确调用。 应该将类型和函数分别置于不同的命名空间,除非有意让它们一起工作 不要在头文件或者include...

扫一扫二维码分享