- 博客(977)
- 资源 (17)
- 收藏
- 关注
原创 标准库标头 <bit>(C++20)学习
头文件是数值库的一部分。定义用于访问、操作和处理各个位和位序列的函数。例如,有函数可以旋转位、查找连续集或已清除位的数量、查看某个数是否为 2 的整数幂、查找表示数字的最小位数等。下面来看一下它的具体使用示例:
2024-09-15 23:07:15
1924
原创 标准库标头 <barrier>(C++20)学习
此头文件是线程支持库的一部分。类模板 std::barrier 提供一种线程协调机制,阻塞已知大小的线程组直至该组中的所有线程到达该屏障。不同于 std::latch,屏障是可重用的:一旦到达的线程组被解除阻塞,即可重用同一屏障。与 std::latch 不同,会在线程解除阻塞前执行一个可能为空的可调用对象。
2024-09-11 23:19:32
1404
原创 标准库标头 <optional> (C++17)学习之optional
类模板 std::optional 管理一个可选 的所含值,即既可以存在也可以不存在的值。一种常见的 optional 使用情况是作为可能失败的函数的返回值。与如 std::pair 等其他手段相比,optional 可以很好地处理构造开销高昂的对象,并更加可读,因为它明确表达了意图. optional 的任何实例在任意给定时间点要么含值,要么不含值。
2024-09-03 22:20:48
915
原创 标准库标头 <charconv>(c++17)学习
此头文件是strings library.std::to_chars_result 是 std::to_chars 的返回类型。它没有基类std::from_chars_result 是 std::from_chars 的返回类型。它没有基类
2024-09-02 22:51:53
611
原创 标准库标头 <variant> (C++17)学习之variant类
此头文件是通用工具库的一部分。类模板 std::variant 表示一个类型安全的联合体(以下称“变体”)。一个 std::variant 的实例在任意时刻要么保有它的可选类型之一的值,要么在错误情况下无值(此状态难以达成,见 valueless_by_exception)。与联合体类似,如果变体保有某个对象类型 T 的值,那么 T 的对象表示会在变体自身的对象表示中直接分配。不允许变体分配额外的(动态)内存。
2024-08-31 09:34:10
1111
原创 标准库标头 <memory_resource> (C++17)学习之monotonic_buffer_resource
类 std::pmr::monotonic_buffer_resource 是特定目的的内存资源类,它仅在销毁资源时释放分配的内存。它的意图是提供非常快速的内存分配,在内存用于分配少量对象,并于之后一次释放的情形。monotonic_buffer_resource 能以初始缓冲区构造,若无初始缓冲,或缓冲用尽,则从构造时提供的上游分配器分配缓冲区。缓冲区的大小以几何级数增长。monotonic_buffer_resource 不是线程安全的。
2024-08-24 14:05:35
502
原创 标准库标头 <any> (C++17)学习
此头文件是通用工具库的一部分。类 any 描述一种可用于任何可复制构造类型的单个值的类型安全容器。
2024-08-21 10:24:34
384
原创 algorithm算法库学习之——堆操作,最小/最大操作,比较操作,排列操作
algorithm此头文件是算法库的一部分。本篇介绍堆操作,最小/最大操作,比较操作,排列操作。
2024-08-20 16:10:33
458
原创 algorithm算法库学习之——(有序范围上的)二分搜索操作 和集合操作
algorithm此头文件是算法库的一部分。本篇介绍(有序范围上的)二分搜索操作 和集合操作。
2024-08-19 19:54:18
341
原创 chrono时间和日期库学习
此头文件是日期和时间库的一部分。类模板 std::chrono::duration 表示时间间隔。它由 Rep 类型的计次数和计次周期组成,其中计次周期是一个编译期有理f,表示从一个计次到下一个的秒数。在 duration 存储的数据只有 Rep 类型的计次数。若 Rep 是浮点类型,则 duration 能表示小数的计次数。Period 被包含为时长类型的一部分,且只在不同时长间转换时使用。
2024-07-06 15:21:40
1073
原创 codecvt本地化库学习
此标头是本地化库的一部分。该头文件包括3个类,codecvt_utf8,codecvt_utf16, codecvt_utf8_utf16三个类,本篇介绍这三个类的一些用法。
2024-06-30 16:12:06
475
原创 memory动态内存管理学习之weak_ptr
此头文件是动态内存管理库的一部分。std::weak_ptr 是一种智能指针,它持有对被 std::shared_ptr 管理的对象的非拥有性(“弱”)引用。在访问所引用的对象前必须先转换为 std::shared_ptr。std::weak_ptr 用来表达临时所有权的概念:当某个对象只有存在时才需要被访问,而且随时可能被他人删除时,可以使用 std::weak_ptr 来跟踪该对象。
2024-06-29 21:38:21
436
原创 memory动态内存管理学习之shared_ptr
此头文件是动态内存管理库的一部分。std::shared_ptr 是一种通过指针保持对象共享所有权的智能指针。多个 shared_ptr 对象可持有同一对象。下列情况之一出现时销毁对象并解分配其内存: 最后剩下的持有对象的 shared_ptr 被销毁; 最后剩下的持有对象的 shared_ptr 被通过 operator= 或 reset() 赋值为另一指针。
2024-06-16 17:24:37
372
原创 memory动态内存管理学习之unique_ptr
此头文件是动态内存管理库的一部分。std::unique_ptr 是一种智能指针,它通过指针持有并管理另一对象,并在 unique_ptr 离开作用域时释放该对象。在发生下列两者之一时,用关联的删除器释放对象: 管理它的 unique_ptr 对象被销毁。 通过 operator= 或 reset() 赋值另一指针给管理它的 unique_ptr 对象。
2024-06-09 21:45:27
534
原创 locale本地化库学习
std::locale 类型的对象(本地环境对象)是不可变刻面的一个不可变索引集。C++ 输入/输出库的每个流对象都与一个 std::locale 对象关联,并用它的各刻面来分析及格式化所有数据。另外,每个 std::basic_regex 对象也都与一个本地环境对象关联。 (C++11 起)本地环境对象也可以在标准容器和算法中用作进行字符串校排的谓词,而且也可以直接访问,以获得或修改它所保有的平面。
2024-06-08 23:42:06
636
原创 functional函数对象库学习
类模板 std::function 是一种通用多态函数包装器。std::function 的实例能存储、复制及调用任何可复制构造 (CopyConstructible) 的可调用 (Callable) 目标——函数(通过其指针)、lambda 表达式、bind 表达式或其他函数对象,以及成员函数指针和数据成员指针。存储的可调用对象被称为 std::function 的目标。若 std::function 不含目标,则称它为空。调用空 std::function 的目标导致抛出 std::bad_func
2024-06-02 07:45:56
516
原创 stack学习
std::stack 类是一种容器适配器,它给予程序员栈的功能——特别是 FILO(先进后出)数据结构。该类模板用处为底层容器的包装器——只提供特定函数集合。栈从被称作栈顶的容器尾部推弹元素。
2024-06-01 21:41:27
528
原创 queue学习
std::queue 类是一种容器适配器,它提供队列的功能——尤其是 FIFO(先进先出)数据结构。此类模板用处为底层容器的包装器——只提供特定的函数集合。queue 在底层容器尾端推入元素,从首端弹出元素。
2024-05-26 15:12:51
342
原创 Qt绘制边框有阴影兼容性问题
在Qt开发过程中,有时候我们要显示一个有阴影的对话框,这时一般采用自定义实现,然而最近在开发时软件时,Win11上显示正常,Win10或其他Win11电脑显示不正常,存在兼容性问题吗?
2024-04-22 23:49:01
846
原创 QT添加软件启动页
QT开发的软件有时在软件起动的过程中要获取一些资源等,这个时候界面可能要等待一些时间,这种等待用户可能会误以为点击没有反应,那么有没有一种方式优化这个体验呢。答案就是接下来要说的给程序添加启动动画,程序加载完成后显示主界面关闭启动页。
2024-03-24 22:10:31
473
原创 Qt for Mac阻止MacOS系统休眠
Qt开发的应用程序如果电脑休眠了会影响软件的使用,因此在软件的使用过程中需要防止电脑休眠,在Win上有专门的API进行处理,在Mac上也必需使用Mac平台自身的API,本篇介绍在Mac平台下使用Qt阻止Mac系统休眠。
2024-03-17 20:33:54
494
原创 QSlider使用笔记
最近做项目使用到QSlider滑动条控件,在使用过的过程中,发现一个问题就是点滑动条上的一个位置,滑块并没有移动到鼠标点击的位置,体验感很差,本篇介绍两种方法实现鼠标点击滑动块移到相关的位置。
2024-02-03 17:33:11
601
原创 Qt线程高级应用
一般我们在用Qt开发时,把耗时操作放在线程中执行,避免卡界面,Qt的线程使用有多种方式,一种是继承QThread,一种是moveToThread的方式,还有QtConcurrent方式
2024-01-28 22:57:18
1039
原创 QMenu风格设计qss+阴影
Qt的菜单经常在软件开发中用到,默认的菜单效果都不符合设计师的要求,本篇介绍QMenu菜单的风格设计,包括样式表和阴影。
2023-12-08 20:48:15
1542
1
原创 QDoubleSpinBox的使用示例
QDoubleSpinBox即可以做为数值型输入框使用,也可以使用只读型数据显示框,在作为输入框使用时比QLineEdit有以下几个方面的优势1.可以设置范围,并且范围精确,2.输入数据精确,自动屏幕非数值以外的字符。3.设置步长后可以通过上下键自动增减值。本篇记录QDoubleSpinBox的基本使用。
2023-11-29 21:06:11
2440
原创 QSS之QComboBox(文字居中)
QComboBox在Qt开发过程中经常使用,默认的下载列表风格达不到设计师的要求,本篇介绍基本的QComboBox的qss设置。
2023-10-03 11:41:45
5515
2
原创 Qt自定义菜单
Qt开发过程中,弹出菜单时我们一般使用QMenu,但是QMenu都是一条项固定的格式,如查想要自己的设计界面就没法使用默认的Action项了,因此我们得用自定义的QMenu。
2023-10-02 16:49:19
2352
原创 QSS之QLineEdit
QLineEdit我们在开发过程中是经常使用的,一般情况下默认的风格是不适合设计师的要求,本篇介绍QLineEdit的基本qss风格:
2023-10-01 11:23:41
1354
原创 QSS之QScrollArea
QScrollArea在实际的开发过程中经常使用,主要是有些界面一屏显示不下,所以得用QScorllArea带滚动条拖动显示剩余的界面。默认的QScrollArea滚动条不满设计的风格,因此我们必须设置自已的滚动条风格,QScrollBar分为水平horizontal和垂直vertical,在设置的过程中常见的属性如下:
2023-09-30 17:58:35
2057
原创 QLineEdit设置数据的输入范围QIntValidator和QDoubleValidator
在日常开发过程中QLineEdit作为输入框,有时要限制输入的内容,比哪,考试分数为0-100,这个时候就使用QIntValidator作为限制范围,而如何输入的是带小数的呢,那么使用QDoubleValidator可以吗,下面请看具体的示例。但是仔细一想是Qt的Bug吗,网上查了下也有人遇到说是一个Bug,后来查看帮助说明。一个是标准计数法,一个是科学计数法,默认是科学计数法,所以可以输入任何内容,当然也可以用正则表达式来实现。如果换成科学计数法呢。
2023-09-24 23:41:34
9750
7
computer-vision计算机视图算法opencv相关
2024-03-03
QTreeView+自定义Model实现示例
2022-07-01
C++ Qt设计模式第2版(中英文版)+源码
2015-09-02
VC++ 6.0数据库系统开发实例导航源码
2011-10-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人