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

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

bingliaolong C++ 2年前 9 0

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

C++20_第一篇

C++20_第一篇

bingliaolong C++ 12个月前 3 0

语言特性 概念Concepts 概述 概念用于约束模板参数,提供了一种简洁的方式来指定模板参数的要求 约束模板参数,增强代码可读性和错误提示 示例 示例1 示例2 范围库(Ranges) 概述 提供声明式数据操作,支持惰性求值和链式调用 示例 过滤偶数并平方 协程(Corouti...

C++并发编程_同步并发(Condition_variable)

C++并发编程_同步并发(Condition_variable)

bingliaolong C++ 5年前 11 0

等待事件或其他条件 如果一个线程正等待着第二个线程完成一项任务,它有几个选择。 可以一直检测共享数据(由互斥量保护)中的标识,并且让第二个线程在完成任务时设置该标识。 浪费资源 使用std::this_thread::sleep_for(),让等待的线程在检查之间休眠一会儿 得到...

Protobuf记述与使用

Protobuf记述与使用 5

bingliaolong C++ 3年前 8 0

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

Spdlog记述:二

Spdlog记述:二

bingliaolong C++ 1年前 38 0

接收器 接收器是实际将日志写入其目标的对象 每个接收器应该只负责单个目标(例如文件、控制台、数据库) 并且每个接收器都有自己的格式化程序对象的私有实例 spdlog的接收器有_mt(多线程)或_st(单线程)后缀来指示线程安全 旋转接收器 当达到最大文件大小时,关闭文件,重命名它...

C++_volatile

C++_volatile

bingliaolong C C++ 8个月前 9 0

变量的读取 概述 一般来说,读取一个变量的内容,是从内存里面去取的 但是,在编译时启用优化选项后,编译器可能会对代码进行优化,以提高执行效率 优化手段-寄存器 一个常见的优化手段就是将一些频繁访问的变量存储在CPU寄存器中,而不是每次都从内存中读取 这种优化可以大幅度提升程序的性...

Effective C++_第一篇

Effective C++_第一篇

bingliaolong C++ 5年前 15 0

导读 explicit 将构造函数声明为explicit,禁止编译器执行非预期(不是我们想要的)的类型转换。 除非我们有一个很好的理由,允许构造函数被用来进行隐式类型转换,否则我们应该把它声明为explicit的。 拷贝构造函数&&拷贝赋值操作符 拷贝构造函数被用...

Soui八

Soui八

bingliaolong Soui 3年前 8 0

SetMsgHandled 当用户在自己的消息映射表中增加一个消息处理函数,而且是插入在映射表的CHAIN_MSG_MAP(SHostWnd)前(也应该在此之前,否则很可能就收不到消息)。 默认情况下会自动标志该消息已经被处理了,如此一来就不会继续交给SHostWnd处理。 解决...

Zlib记述:一

Zlib记述:一

bingliaolong C C++ 1年前 15 0

概述 zlib库是一个广泛使用的压缩/解压缩库 下面实现是用了zlib 1.3版本的代码和相关库 具体是使用了zlib源码中带的minizip 其中的minizip扩展提供了处理ZIP文件的功能 解压 在解压之前可能需要处理其他的很多工作,比如验证目录,验证目标文件是否存在等。这...

扫一扫二维码分享