自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(864)
  • 资源 (27)
  • 收藏
  • 关注

原创 c++11 标准模板(STL)本地化库 - 平面类别(std::codecvt) - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (八)

1) 公开成员函数,调用最终派生类的成员函数 do_max_length 。2) 返回对于任何合法范围 [from, from_end) 和任何 state 合法 , do_length(state, from, from_end, 1) 所能返回的最大值。

2024-04-18 08:30:00 389

原创 c++11 标准模板(STL)本地化库 - 平面类别 - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (七)

1) 公开成员函数,调用最终导出类的成员函数 do_length 。2) 给定初始转换状态 state ,试图转换来自 [from, from_end) 所定义的字符数组的 externT 字符,为至多 max 个 internT 字符,并返回这种转换会消耗的 externT 字符数。

2024-04-17 08:30:00 344

原创 c++11 标准模板(STL)本地化库 - 平面类别(std::codecvt) - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (六)

1) 公开成员函数,调用最终导出类的成员函数 do_always_noconv 。2) 若 do_in() 和 do_out() 对于所有合法输入都返回 std::codecvt_base::noconv 则返回 true 。

2024-04-16 08:30:00 729

原创 c++11 标准模板(STL)本地化库 - 平面类别(std::codecvt) - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (五)

1) 公开成员函数,调用最终导出类的成员函数 do_encoding 。2) 若此 codecvt 平面所表示的编码映射每个内部字符为相同的常数个外部字符,则返回该常数。若编码为变长(如 UTF-8 或 UTF-16 ),则返回 ​0​ 。若编码依赖平台,则返回 -1 。

2024-04-15 08:30:00 799

原创 c++11 标准模板(STL)本地化库 - 平面类别(std::codecvt) - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (四)

1) 公开成员函数,调用最终导出类的成员函数 do_unshift 。2) 若此 codecvt 所表示的编码依赖状态,而 state 表示的转换状态不是初始迁移状态,则写入返回初始迁移状态所需的字符。

2024-04-14 08:30:00 1041

原创 c++11 标准模板(STL)本地化库 - 平面类别 (std::codecvt)- 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (三)

1) 公开成员函数,调用最终导出类的成员函数 do_in 。2) 若此 codecvt 平面定义一个转换,则翻译来自源范围 [from, from_end) 的外部字符为内部字符,将结果置始于 to 的后继位置。

2024-04-13 12:43:41 986

原创 c++11 标准模板(STL)本地化库 - 平面类别 - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32 (二)

1) 公开成员函数,调用最终导出类的成员函数 do_out 。2) 若此 codecvt 平面定义一个转换,则翻译来自源范围 [from, from_end) 的内部字符为外部字符,并将结果置于始于 to 的相继位置。

2024-04-12 08:30:00 1021

原创 c++11 标准模板(STL)本地化库 - 平面类别 - 在字符编码间转换,包括 UTF-8、UTF-16、UTF-32

此 std::ctype 的特化为类型 char 封装字符分类特性。不同于使用虚函数的通用 std::ctype ,此特化用表查找分类字符(通常会更快)。基类 std::ctype 实现等价于最小 "C" 本地环境的字符分类。若用非默认的分类表参数,构造为 std::ctype_byname 或用户定义的导出平面,则能扩展或修改分类规则。所有 std::istream 的有格式输入函数都要求在输入分析中将 std::ctype 用于字符分类。

2024-04-11 08:30:00 717

原创 c++11 标准模板(STL)本地化库 - 平面类别 - std::ctype 对于 char 类型的特化

此 std::ctype 的特化为类型 char 封装字符分类特性。不同于使用虚函数的通用 std::ctype ,此特化用表查找分类字符(通常会更快)。基类 std::ctype 实现等价于最小 "C" 本地环境的字符分类。若用非默认的分类表参数,构造为 std::ctype_byname 或用户定义的导出平面,则能扩展或修改分类规则。所有 std::istream 的有格式输入函数都要求在输入分析中将 std::ctype 用于字符分类。

2024-04-10 08:30:00 973

原创 c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(八)

1,2) 公开成员函数,调用最终导出类的受保护虚成员函数 do_narrow 。3) 若(可能为宽)的字符 c 能以单字节表示(例如, UTF-8 编码中的 ASCII 字符是单字节),则转换它为为多字节表示。若这种转换不存在则返回 dflt 。4) 对于字符数组 [beg, end) 中的而每个字符,写入窄化字符(或凡在窄化失败时写入 dflt )到 dst 所指向的字符数组中的相继位置。

2024-04-09 08:30:00 697

原创 c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(七)

1,2) 公开成员函数,调用最终导出类的受保护虚成员函数 do_widen 。3) 用最简单的合理变换,转换单字节字符 c 为对应的宽字符。这典型地仅应用于多字节编码为单字节的字符(例如 UTF-8 中的 U+0000-U+007F )。4) 对字符数组 [beg, end) 中每个字符,写入对应的加宽字符到 dst 所指向的字符数组中的相继位置。

2024-04-08 08:30:00 736

原创 c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(六)

1,2) 公开成员函数,调用最终导出类上的受保护虚成员函数 do_tolower 。3) 若此 locale 定义 c 的小写形式,则转换它为小写形式。4) 对字符数组 [beg, end) 中每个存在小写形式的字符,以其小写形式替换该字符。

2024-04-07 08:30:00 651

原创 c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(五)

1,2) 公开成员函数,调用最终导出类上的受保护虚成员函数 do_toupper 。3) 若此 locale 定义 c 的大写形式,则转换它为大写形式。4) 对字符数组 [beg, end) 中每个存在大写形式的字符,以其大写形式替换该字符。

2024-04-06 08:30:00 624

原创 c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(四)

1) 公开成员函数,调用最终导出类的受保护虚成员函数 do_scan_not 。2) 定位字符数组 [beg, end) 中不满足分类掩码 m 的首个字符,即首个使得 is(m, c) 会返回 false 的字符 c 。

2024-04-05 08:30:00 876

原创 c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(三)

1) 公开成员函数,调用最终导出类的受保护虚成员函数 do_scan_is 。2) 定位字符数组 [beg, end) 中满足分类掩码 m 的首个字符,即首个使得 is(m, c) 会返回 true 的字符 c 。

2024-04-04 08:30:00 1188

原创 c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(二)

1,2) 公开成员函数,调用最终导出类的受保护虚成员函数 do_is 。3) 检查字符 c 是否以掩码 m 分类。4) 对字符数组 [low, high) 中的每个字符

2024-04-03 08:30:00 814

原创 c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表

类 ctype 封装字符分类特征。所有通过 std::basic_istream 进行的流输入操作用感染于流中的 std::ctype 鉴别空白符以将输入记号化。流输出操作在输出前应用 std::ctype::widen() 到窄字符参数。

2024-04-02 08:30:00 881

原创 c++11 标准模板(STL)本地化库 - 平面类别基类

类 std::ctype_base 列出 std::ctype 平面所继承的字符分类类别。类 std::codecvt_base 提供 std::codecvt 平面所继承并使用的转换状态常量。类 std::messages_base 提供为 std::messages 平面所继承和使用的类型定义。类 std::money_base 提供为 std::moneypunct 、 std::money_get 和 std::money_put 平面所继承并使用的常量。

2024-04-01 08:30:00 984

原创 c++11 标准模板(STL)本地化库 - std::tolower(std::locale) 用本地环境的 ctype 刻面将字符转换为小写

用给定 loacale 的 std::ctype 平面所指定的转换规则,若可能则转换字符 ch 为小写。

2024-03-31 08:30:00 285

原创 c++11 标准模板(STL)本地化库 - std::toupper(std::locale) 用本地环境的 ctype 刻面将字符转换为大写

用给定 loacale 的 std::ctype 平面所指定的转换规则,若可能则转换字符 ch 为大写。

2024-03-30 09:00:06 222 1

原创 c++11 标准模板(STL)本地化库 - std::isgraph(std::locale) 检查字符是否被本地环境分类为图形字符

检查给定字符是否为给定 locale 的 std::ctype 平面分类为图形字符(即可打印字符,除了空格)。

2024-03-29 21:48:04 433

原创 c++11 标准模板(STL)本地化库 - std::isprint(std::locale) 检查字符是否被本地环境分类为可打印字符

检查给定字符是否为给定 locale 的 std::ctype 平面分类为可打印字符(包含空格)。

2024-03-28 08:30:00 383

原创 c++11 标准模板(STL)本地化库 - std::isalnum(std::locale) 检查字符是否被本地环境分类为字母或数字

检查给定字符是否为给定 locale 的 std::ctype 平面分类为字母数字字符。

2024-03-27 08:30:00 319

原创 c++11 标准模板(STL)本地化库 - std::isxdigit(std::locale) 检查字符是否被本地环境分类为十六进制数字

检查给定字符是否为给定 locale 的 std::ctype 平面分类为十六进制数位。

2024-03-26 08:30:00 205

原创 c++11 标准模板(STL)本地化库 - std::ispunct(std::locale) 检查字符是否被本地环境分类为标点

检查给定字符是否被给定 locale 的 std::ctype 平面分类为标点字符。

2024-03-25 08:30:00 307

原创 c++11 标准模板(STL)本地化库 - std::isdigit(std::locale) 检查字符是否被本地环境分类为数字

检查给定字符是否为给定 locale 的 std::ctype 平面分类为数字。

2024-03-24 19:14:04 307

原创 c++11 标准模板(STL)本地化库 - std::isalpha(std::locale) 检查字符是否被本地环境分类为字母

检查给定的字符是否为给定 locale 的 std::ctype 平面分类为字母字符。

2024-03-23 08:30:00 241

原创 c++11 标准模板(STL)本地化库 - std::islower(std::locale) 检查字符是否被本地环境分类为小写

检查给定字符是否为给定 locale 的 std::ctype 平面分类为小写字母字符。

2024-03-22 08:30:00 250

原创 c++11 标准模板(STL)本地化库 - std::isupper(std::locale) 检查字符是否被本地环境分类为大写

检查给定字符是否为给定 locale 的 std::ctype 平面分类为大写字母字符。

2024-03-21 08:30:00 382

原创 c++11 标准模板(STL)本地化库 - std::iscntrl(std::locale) 检查字符是否被本地环境分类为控制字符

检查给定字符是否为给定 locale 的 std::ctype 平面分类为控制字符。

2024-03-20 08:30:00 199

原创 c++11 标准模板(STL)本地化库 - std::isblank(std::locale) 检查字符是否被本地环境分类为空格字符

检查给定字符是否为给定 locale 的 ctype 平面分类为空格字符。

2024-03-19 08:30:00 455

原创 c++11 标准模板(STL)本地化库 - std::isspace(std::locale) - 检查字符是否被本地环境分类为空白

检查给定字符是否为给定 locale 的 ctype 平面分类为空白字符。

2024-03-18 08:30:00 455

原创 c++11 标准模板(STL)(std::use_facet)(std::has_facet)

获得到 loc 所实装的平面的引用。检查 locale loc 是否实装平面 Facet 。

2024-03-17 17:23:14 517

原创 c++11 标准模板(STL)(std::locale)(六)平面索引类型:每个平面类必须声明或继承此类型的公开静态成员

类 std::locale::id 提供本地环境片面的实现限定标识。每个导出自 std::locale::facet 的类都必须拥有名为 id 的 std::locale::id 类型公开静态成员,而每个 std::locale 对象维护其所实装的 facet 列表,以其 id 索引。

2024-03-16 08:30:00 431

原创 c++11 标准模板(STL)(std::locale)(五)用此 locale 的 collate 刻面以字典序比较两个字符串

按照此 locale 的 std::collate 平面所定义的比较规则,比较二个 string 参数 s1 与 s2 。获得到实现经典 "C" 本地环境语义的 C++ 本地环境的引用。此本地环境不同于全局本地环境,不能改变。获得到实现经典 "C" 本地环境语义的 C++ 本地环境的引用。此本地环境不同于全局本地环境,不能改变。

2024-03-15 08:30:00 965

原创 c++11 标准模板(STL)(std::locale)(四)返回 locale 的名称

返回操作系统所知的 locale 名称,测试二个本地环境的相等性。若具名 locale 的名称相等则认为它们相等。若无名 locale 互为彼此的副本则认为它们相等。

2024-03-14 08:30:00 490

原创 c++11 标准模板(STL)(std::locale)(三)替换 locale

创建 other 的副本,替换 *this 的内容。增加 other 所保有的所有平面的引用计数。减少 *this 先前所保有的所有平面的引用计数,并删除引用计数成为零的平面。构造 locale 对象,结果为 *this 的副本,除了 Facet 类型平面复制自 other 。

2024-03-13 08:30:00 459

原创 c++11 标准模板(STL)(std::locale)(二)构造函数

构造新的 locale 对象。1) 默认构造函数。构造全局 C++ 本地环境的副本。2) 复制构造函数。构造 other 的副本。3-4) 构造拥有特定 std_name 的系统本地环境。5-6) 构造 other 的副本,除了 cat 参数所鉴别的所有平面。7) 构造 other 的副本,除了 Facet 类型平面。8) 构造 other 的副本,除了 cat 参数所鉴别的所有平面。虚析构函数,减少 *this 所保有的所有平面的引用计数。删除引用计数变为零的平面。

2024-03-12 08:30:00 895

原创 c++11 标准模板(STL)(std::locale)(一)

std::locale 类型对象是不可变平面的不可变索引集。 C++ 输入/输出库的每个流对象与一个 std::locale 对象关联,并用其平面分析及格式化所有数据。另外, locale 对象与每个 std::basic_regex 对象关联。 locale 对象亦可在标准容器和算法中用作进行字符串对照的谓词,而且能被直接访问,以获得或修改其所保有的平面。

2024-03-11 08:30:00 845

原创 c++11 标准模板(STL)(std::tuple)(十)

提供 tuple 元素类型的编译时带下标访问。

2024-03-10 08:30:00 469

C++ Qt 待机弹球游戏

以前的电视机待机时,都有一个球在界面弹来弹去,碰到边界则改变颜色和方向。 界面与控制逻辑分离,更符合设计,职责分清 设计算法实现该效果,代码量极少 qt界面呈现最终效果, C++控制运动轨迹运算,及背景和边框颜色变化。 非常详细源码注释。

2023-08-14

c++设计模式-行为型模式-访问者模式

c++设计模式-行为型模式-访问者模式;qt工程;c++简单源码; 访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。

2022-06-26

c++设计模式-行为型模式-解释器模式

c++设计模式-行为型模式-解释器模式;qt工程;c++简单源码; 解释器(Interpreter)模式的定义:给分析对象定义一个语言,并定义该语言的文法表示,再设计一个解析器来解释语言中的句子。也就是说,用编译语言的方式来分析应用中的实例。这种模式实现了文法表达式处理的接口,该接口解释一个特定的上下文。

2022-06-26

c++设计模式-行为型模式-备忘录模式

c++设计模式-行为型模式-备忘录模式;qt工程;c++简单源码;备忘录(Memento)模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。

2022-06-25

c++设计模式-行为型模式-迭代器模式

c++设计模式-行为型模式-迭代器模式;qt工程;c++简单源码;迭代器(Iterator)模式的定义:提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。

2022-06-25

c++设计模式-行为型模式-中介者模式

c++设计模式-行为型模式-中介者模式;qt工程;c++简单源码; 中介者(Mediator)模式的定义:定义一个中介对象来封装一系列对象之间的交互,使原有对象之间的耦合松散,且可以独立地改变它们之间的交互。中介者模式又叫调停模式,它是迪米特法则的典型应用。

2022-06-24

c++设计模式-行为型模式-观察者模式

c++设计模式-行为型模式-观察者模式;qt工程;c++简单源码; 观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。

2022-06-21

c++设计模式-行为型模式-状态模式

c++设计模式-行为型模式-状态模式;qt工程;c++简单源码; 状态(State)模式的定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。

2022-06-20

c++设计模式-行为型模式-责任链模式

c++设计模式-行为型模式-责任链模式;qt工程;c++简单源码; 责任链(Chain of Responsibility)模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。

2022-06-19

c++设计模式-行为型模式-命令模式

c++设计模式-行为型模式-命令模式;qt工程 ;c++简单源码; 命令(Command)模式的定义如下:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。

2022-06-19

c++设计模式-行为型模式-策略模式

c++设计模式-行为型模式-策略模式;qt工程;c++简单源码; 策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。

2022-06-19

c++设计模式-行为型模式-模板方法模式

c++设计模式-行为型模式-模板方法模式;qt工程;c++简单源码; 模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。

2022-06-19

c++设计模式-结构型模式-组合模式

c++设计模式-结构型模式-组合模式;qt工程;c++简单源码; 组合(Composite Pattern)模式的定义:有时又叫作整体-部分(Part-Whole)模式,它是一种将对象组合成树状的层次结构的模式,用来表示“整体-部分”的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式。

2022-06-16

c++设计模式-结构型模式-享元模式

c++设计模式-结构型模式-享元模式;qt工程;c++简单源码; 享元(Flyweight)模式的定义:运用共享技术来有效地支持大量细粒度对象的复用。它通过共享已经存在的对象来大幅度减少需要创建的对象数量、避免大量相似类的开销,从而提高系统资源的利用率。

2022-06-15

c++设计模式-结构型模式-外观模式

c++设计模式-结构型模式-外观模式;qt工程;c++简单源码; 外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。该模式对外有一个统一接口,外部应用程序不用关心内部子系统的具体细节,这样会大大降低应用程序的复杂度,提高了程序的可维护性。

2022-06-13

c++设计模式-结构型模式-装饰器模式

c++设计模式-结构型模式-装饰器模式;QT工程;c++简单源码; 装饰器(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。

2022-06-12

c++设计模式-结构型模式-桥接模式

c++设计模式-结构型模式-桥接模式;qt工程,c++简单源码; 桥接(Bridge)模式的定义如下:将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。

2022-06-12

c++设计模式-结构型模式-适配器模式

c++设计模式-结构型模式-适配器模式,其他工程,c++源码。适配器模式(Adapter)的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。

2022-06-12

c++设计模式-结构型模式-代理模式

c++设计模式-结构型模式-代理模式,qt工程,c++源码,简单示例

2022-06-12

c++设计模式-创建型模式-建造者模式

c++设计模式-创建型模式-建造者模式-qt工程源码,c++实现

2022-06-04

c++设计模式-抽象工厂方法

c++设计模式-创建型-抽象工厂方法-最简单源码-qt工程

2022-06-04

c++设计模式-工厂方法模式

c++设计模式-创建型模式-工厂方法模式-最简单的源码-qt工程

2022-06-04

C++设计模式-原型模式

C++设计模式-创建型模式-原型模式;C++实现的关键 拷贝构造函数

2022-06-03

c++设计模式-单例模式

c++设计模式-创建型模式-单例模式源码,懒汉式 饿汉式源码,qt工程,单例模式线程安全问题,单例模式实现方式

2022-06-03

设计模式-简单工厂源码

C++设计模式-创建型模式-简单工厂模式源码

2022-06-03

widgets.rar

Qt自定义控件学习 /** * @brief 自定义拨动按钮控件,使用时将将Qwidget提升为CustomToggleButton即可 * 此类的样式:一个删除按钮,动态显示隐藏 * 应用场景:密码输入,搜索框输入框 * @author GGX * @date 2020-05-20 */

2020-12-02

QQclient.zip

C++、QT制作、QQ聊天工具、UI模仿;图标都是在百度上搜的,可能会跟QQUI有些差别,反正不喜欢的就自己换吧;去掉了自带边框,然后重写鼠标事件,实现窗口的移动;按下按钮可以切换界面,但是没有实现任何功能;

2020-05-03

client1.zip

QT聊天工具界面,只是简单的实现了界面,并没有涉及数据的操作,用信号槽机制切换界面,还用了关闭事件切换界面。

2019-12-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除