boost 库与stl
YaoYuan9323
电气自动化专业毕业的程序员
展开
-
C++ STL 组件 —— 迭代器
包含 forward_iterator_tag、bidirectional_iterator_tag、 random_access_iterator_tag类型;类型的对象来访问容器(如下例1、2);另外C++标准库算法(Algorithm)等都需要借助迭代器访问容器(如下例3)。目前对迭代器的基本特点有一个认识,后续通过实现容器对迭代器进行深入了解。类型应保证足以存放同一数组中两个指针之间的差距, 有可能是负数;C++ 容器类都定义了名为。原创 2024-02-16 12:38:30 · 538 阅读 · 0 评论 -
c++基础——运算符重载
重载成员访问运算符(函数)必须返回类对象指针或自定义了"箭头"运算符的类的对象。一、重载成员访问运算符(->)或者重载了"箭头"运算符的类的。的表达式,则obj是一个。原创 2024-02-09 19:32:56 · 548 阅读 · 0 评论 -
C++ 基础——类模板特化
上述的模板特化对STL的迭代器很重要,之后章节将详述它们。二、 类模板特化(Specialization)一、typename 关键字的作用。原创 2024-02-10 22:34:40 · 457 阅读 · 0 评论 -
c++11 之 auto、decltype关键字与尾置返回类型
c++11新引入两个关键字: auto、decltype来进行类型说明。它们为较复杂类型的声明提供了帮助。一、auto关键字 1> 类似c#关键字var,由它声明的对象类型依赖于表达式的类型,因此auto定义的变量必须有初始值: int a = 9; auto a1 = a; // 正确a1为int型 auto a2; //错误...原创 2018-08-04 18:40:56 · 523 阅读 · 0 评论 -
c++11多线程编程之condition_variable
一、condition_variable 多线程编程中,常会涉及生产者线程与消费者线程同步问题。c++新标准库(boost)中condition_variable比使用mutex更精确的控制线程执行。简单说就是其中一个线程会及时通知其它线程,已经把数据处理好了。等待中的线程得到“通知”被唤醒来处理数据。 二、示例代码 通过以下代码来说明其工作方式。#incl...原创 2018-08-11 16:31:11 · 810 阅读 · 0 评论 -
c++ IO库之ifstream的一些基本操作
c++ IO库中关于文件的的流有六个,它们是ifstream wifstream ofstream wofstream fsream wfsream。w开始的是针对wchar_t类型的数据。从左到右分为三组,它们作用分别是:从文件读取数据、向文件写入数据、读写文件。它们包含在fstream头文件中最近在项目中用到了ifstream,现在对其进行简要说明。 ...原创 2018-08-19 09:44:22 · 3911 阅读 · 0 评论 -
std::ifstream以二进制方式读取图片文件,用Qt再将其转为图片(QImage::loadFromData()函数使用)
上篇文章中谈到谈到ifstrem可以以二进制形式读取图片文件,读取方式与读取txt方式一样,将不再赘述。本文将重点讨论“如何将图片二进制数据转换为图片”。 实际很简单,借助QImage这个非常强大的工具类就可以实现,这个类实际可以直接加载图片文件的,我们先暂时忽略这一点。看看这是怎样的一个过程:代码如下#include "widget.h"#include "ui_...原创 2018-08-19 10:39:43 · 14275 阅读 · 1 评论 -
c++11之再探std::enable_shared_from_this
之前一片关于std::enable_shared_from_this<T>类的文章,只是简单探讨了一下这个类的使用方法与原因,经过不断的学习,对其又有了新的认识。为避免忘记所以来记录一下。一、它有啥作用这个类能够让shared_ptr<T>管理的资源安全的生成其他shared_ptr<T>引用,从而共享这个类的某一资源(就是malloc出来的对象)。实际...原创 2019-03-25 16:06:37 · 922 阅读 · 1 评论 -
使用vs13编译boost为32位静态库
之前也记录过Qt中使用boost,最近在vs中使用boost有了些新发现,再此记录一下。一、编译过程1. windows开始键 --》所有程序 --》点击 Visual Studio 2013(文件夹标识) ---》Visual Studio Tools打开下图所示目录:2. 以管理员身份运行上图框中的快捷方式(上边是X64的,估计编译64位的运行这个吧)。然后切换到boost源码...原创 2019-03-26 10:58:37 · 407 阅读 · 0 评论 -
c++11之std::enable_shared_from_this入门
一、std::enable_shared_from_this<T>应用场景在记录std::enable_shared_from_this之前,需要先看一下原始指针与shared_ptr在使用过程中一些问题。 先看一代码段:#include <QCoreApplication>#include <memory>#include <i...原创 2018-07-22 22:55:08 · 1312 阅读 · 0 评论 -
std::shared_ptr析构过程剖析
上篇文章介绍了shared_ptr对象构造,这篇文章记录其析构过程。 ~shared_ptr() _NOEXCEPT{ // release resource this->_Decref(); //【1】}//[1]void _Decref(){ // decrement reference countif (_Rep != 0) _Rep-...原创 2018-07-22 16:56:59 · 3602 阅读 · 0 评论 -
c++正则表达式模式(pattern)
c++ 中你的正则表达式模式(pattern)原创 2017-12-04 10:01:08 · 1624 阅读 · 0 评论 -
使用std::sort() 依据元素的字段值对容器内元素排序
sort() 依据结构体字段排序原创 2017-12-04 14:42:13 · 609 阅读 · 0 评论 -
boost之初识thread
使用boost::thresd 创建线程原创 2017-12-27 17:28:34 · 253 阅读 · 0 评论 -
详解std::find_if ()
最近的项目中标准库函数的使用比较频繁,最开始看别人的博客,总感觉很多博文都停留在套用层次,我是一个比较爱深究的人,闲暇之余查阅了很多文档。终于找到了满足我好奇心的解释。实际上像std::find_if() std::for_each() 这样的函数就是简单的for循环,为了让我们少些代码而已^_^。又说了一大堆废话,好切入主题让我们一起揭开std::find_if() 神秘面纱。它的定义原创 2018-01-13 10:16:46 · 24890 阅读 · 0 评论 -
以dll的形式使用boost::thread (cannot open file 'libboost_thread-vc140-mt-gd-1_66.lib' 错误解决办法)
在使用boost thread 的静态库的时候比较简单,静态库有一定的缺陷,所以尝试使用动态库,过程比使用静态有点复杂,亦或说需要注意一些细节。经过一番折腾之后终于成功了。分享一下学习经历。一.编译boost 库为动态库 网上资料比较多,就不介绍了。二.了解boost thread 1>boost thread 依赖的其他库: chrono、 dat...原创 2018-04-06 22:16:04 · 1224 阅读 · 0 评论 -
c++11正则表达式(一)——匹配模式(pattern)
一、作用 pattern 是一个c++字符串,它作用是给出一匹配规则,去检测给定字符串是否具备这种拼接规则。二、模式字符串的语法规则 需要插入一句题外话,在特殊元字符中会用到\,对于c/c++而言它是个特殊字符,若我们需要一个“斜杠"时候需要 在其前面加一个\,即应该写为\\。 1>开始与结尾位置声明 1.1 ^表示字符串的开始 ...原创 2018-07-14 23:38:42 · 8841 阅读 · 0 评论 -
c++11之std::shared_ptr剖析
一、概述 c++11中std::shared_ptr<T>提供一种多个栈对象协作管理同一个堆对象的机制。以便在堆对象没有被引用的情况下将其free。 std::shared_ptr<T>的几个重要字段: _Ty *_Ptr; //被管理的动态内存指针 _Ref_co...原创 2018-07-21 22:35:24 · 4816 阅读 · 0 评论 -
c++11之weak_ptr剖析
一、概述 引用《c++ primer》的话:weak_ptr是一种不控制所指向对象生存期的智能指针,它指向由一个shared_ptr管理的对象。将一个weak_ptr绑定到shared_ptr不会改变shared_ptr的引用计数【0】。一旦最后一个指向对象的shared_ptr被销毁,对象就会被释放。即使有weak_ptr指向对象,对象也会被释放。 weak_ptr...原创 2018-07-22 16:31:28 · 1220 阅读 · 0 评论 -
std 中for_each 算法与c++11范围for语句
std 中for_each原创 2017-12-10 20:51:32 · 813 阅读 · 0 评论