自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

vczxh的专栏

c++软件开发

  • 博客(90)
  • 资源 (17)
  • 收藏
  • 关注

原创 c++20 std::jthread 源码简单赏析与应用

std::jthread 是 C++20 中引入的一个新特性,它是线程库中的一个类,专门用于处理。之间的交互,以支持更优雅和安全的线程停止机制。来提供一个内置的线程停止机制。旨在简化这个问题,它使用。

2024-05-21 16:24:11 181

原创 c++20 std::reinterpret_cast、std::bit_cast、std::static_cast

reinterpret_cast不能在constexpr中使用,std::bit_cast可以。reinterpret_cast是语言功能,std::bit_cast是库函数,库函数比语言功能容易支持。,用于可复制类型的二进制IO,例如将字节写入文件,再读回内存。将源对象的位解释为目标对象位,不可转为&,要求。,级别较低,不出现编译错误,问题不容易被发现。例如转为&,不支持,要求。

2024-05-12 21:58:46 364

原创 std::shared_ptr实现和线程安全

是的,控制块是线程安全的;但是不,对资源的访问不是线程安全的。这意味着,修改引用计数器是一个原子操作,您可以保证资源将被删除一次。如果多个执行线程在没有同步的情况下访问同一个shared_ptr对象,并且这些访问中的任何一个使用shared_ptr的非常量成员函数,则将发生数据竞赛;4.c++委员会对std::shared_ptr源代码有什么要求?重新用模版实现,增加一些严谨的类型判断stl模版函数,原子变量的引用计数。2.shared_ptr是不是线程安全的?1.计数器是不是线程安全的?

2024-05-12 01:21:10 363

原创 c++20 shared_ptr、unique_ptr、weak_ptr、enable_shared_from_this

可判断已关联的shared_ptr是否已释放;构造时使用shared_ptr或weak_ptr,使用.lock();代替实现:(如果没有public std::enable_shared_from_this有效的方法是将weak_ptr作为成员变量,返回以weak_ptr创建的shared_ptr):安全的返回指向this的shared_ptr或weak_ptr。需求:在类成员函数实现封装返回指向this的智能指针函数。2.代码异常后面的代码delete没有执行到导致内存泄露。

2024-05-11 15:10:15 376

原创 c++20 constexpr consteval

【代码】c++20 constexpr consteval。

2024-05-11 13:29:01 264

原创 UML类图图例

依赖:对象为函数的参数。关联:类成员变量单个。聚合:类成员变量数组。组合:类成员变量单个。

2024-02-07 19:44:23 135

原创 C++设计模式-创建型-简单工厂模式,工厂方法模式,抽象工厂模式,附builder、singleton、prototype

抽象工厂模式:创建二维对象,即一个工厂创建多个产品。形成一个表格,例如型号a,b,c和系列1,2,3对应产品可以有a1,a2,a3,b1,b2,b3,c1...等。singleton:全局有且仅需要有一个对象且都要用。(问这种模式的往往项目不使用设计模式与uml)。工厂方法模式:创建一维对象,即一个工厂创建一个产品。builder模式:根据xml解析为内存对象。简单工厂模式:根据字符串参数返回对象。

2024-02-04 22:37:05 1005

原创 C++设计模式-6原则(合)

e.g.1.一个需要重新封装的类。

2024-02-04 18:12:40 652

原创 23种设计模式彩图

2024-02-04 16:24:42 105

原创 C++设计模式-开闭原则

定义:对扩展开放对修改关闭。

2024-02-03 22:28:58 81

原创 C++设计模式-迪米特法则

定义:最小知识原则。1.不需要引入无关类。2.不需要开放详细接口。

2024-02-03 22:15:11 92

原创 C++设计模式-接口隔离原则

e.g.1一个不符合接口隔离原则的例子。定义:不依赖不需要的接口。接口隔离原则定义了类的。(封装、继承、多态)

2024-02-03 21:41:46 105

原创 C++设计模式-依赖倒置原则

定义:高层不依赖底层,两者依赖抽象;依赖传递方法:1.构造函数2.set函数3.直接调用法。依赖倒置原则定义了类的。(封装、继承、多态)

2024-02-03 21:01:30 90

原创 C++设计模式-单一职责原则

e.g.1.一个需要重新封装的类。单一职责原则定义了类的。(封装、继承、多肽)

2024-02-03 20:15:34 504

原创 C++设计模式-里氏替换原则

(一些员工使用面向对象语言却不懂封装、继承、多态)e.g.1 不符合里氏替换原则。e.g.2不符合里氏替换原则。

2024-02-03 17:27:34 769

原创 Windows打印堆栈

Windows打印堆栈

2024-01-18 20:09:43 518

原创 希望有能力的人可以出一本《Qt源码剖析》

从Qt源代码实现,概念、原理及应用、Qt底层库架构设计、注意事项等角度讲解,各行各业Qt程序员软件质量会整体大幅度提升。希望有能力的人协调一下可以出一本《Qt源码剖析》。现在各行各业Qt程序员都在缺这方面的知识和书。

2023-11-07 21:48:41 111

原创 QEventLoop概念原理及应用

分享一篇技术文章,从概念原理及应用分析QEventLoop问题,其他qt工程师遇到此类问题可以快速解决、提高软件质量。

2023-11-04 13:05:20 1444

原创 qt5.15.2+vs2019源码调试开发环境搭建

一些qt文件不进行源码调试无法知道其中的原理,从角度看待必须知道qt类运行原理即源码。

2023-11-04 10:40:22 542

原创 std::string_view概念原理及应用

使用const string&作为参数是先使用字符串字面量编译器会创建一个临时字符串对象然后创建std::string。或者一个函数提供char*和const string&参数的两个版本函数,不是优雅的解决方案。于是需要一个只使用内存不维护内存的类。

2023-10-21 17:11:45 188

原创 敏捷agile

2023-10-13 22:10:49 51

原创 gtest概念应用及原理

gtest概念应用及原理

2023-09-07 00:22:46 780

原创 单元测试与自测

单元测试与自测

2023-09-06 19:51:17 1141

原创 统一git使用方法,git状态变迁图,git commit提交规范

要在本地合并代码再提交到远程;自行查资料学习git并使用,会出现使用各种偏僻的命令,异常问题无法解决;参考 https://blog.csdn.net/zhgeliang/article/details/81110179。git设置 mergetool为kdiff3//解决冲突使用kdiff3软件。git commit --amend -m "实际修改注释"提交本地master分支到远程master分支。把远程下载的代码合并到远程master分支。对比本地修改与git节点的差别。修改git文件和节点描述。

2023-08-21 23:31:05 534

原创 observer与qt信号槽的区别

这个技术讨论是来接受批评的。

2023-08-16 17:56:01 139

原创 c++ std::shared_ptr的线程安全问题(race condition)

race condition下,引用计数混乱,错误未知,造成wild pointer/memory leak/crash。有 3 个 shared_ptr 对象 x、g、n;

2023-08-16 16:43:57 294

原创 c++ std::shared_ptr(内存布局)

https://cplusplus.com/reference/memory/shared_ptr/

2023-08-16 15:13:34 183

原创 c++虚继承(使用)

1.构造顺序按派生列表顺序,若有虚基类先构造虚基类,销毁顺序和构造顺序相反。2.虚基类时,孙子C来初始化爷爷Grand。附:thinking in c++ 2nd。

2023-08-14 18:22:30 149

原创 vs2019+vtk开发环境搭建

1.为什么不使用vs2022?vs2022不支持扩展-管理扩展方式安装visual assist x;vs2022编辑代码时visual assist x不能自动生成代码。先点一次configure初始化之后,选中VTK_BUILD_EXAMPLES再点一次configure;就这样,你看到这篇日志节省一点开发环境搭建时间,过低版本其他生态需要的开源库也必须是低版本甚至无法使用,追求高版本浪费时间不容易搭建。1.安装vs2019 Enterprise,visual assist x,cmake。

2023-04-29 22:54:46 1264

原创 vtk几何结构与拓扑结构-三个点的显示

【代码】vtk几何结构与拓扑结构-三个点的显示。

2023-04-13 21:58:27 286

原创 vtk移动立方体法提取等值面-不显示

【代码】vtk移动立方体法提取等值面-不显示。

2023-04-13 21:29:45 203

原创 vtk写点vtk文件,只有几何Geometry,没有拓扑Topology

【代码】vtk写点vtk文件,只有几何Geometry,没有拓扑Topology。

2023-04-12 21:39:23 108

原创 vtk灯光

【代码】vtk灯光。

2023-04-11 20:48:44 59

原创 vtk demo圆柱体

【代码】vtk demo圆柱体。

2023-04-05 23:10:50 188

原创 vs2015+vtk开发环境搭建

问题:1.为什么不使用vs2022?vs2022支持的visual assist x不好用,vs2022编辑代码时visual assist x不能自动生成代码。2.为什么不用最高版本vtk9.2.6?因为高版本vtk库使用更高c++特性,vs2015无法编译通过。1.安装vs2015 Enterprise,visual assist x,cmake。3.cmake编译配置选中Example,可编译官方例子。就这样,你看到这篇日志节省一点开发环境搭建时间。

2023-04-05 23:05:15 339

原创 时序图

用类图生成代码,从代码生成类图时序图:visio,staruml状态图:用于编代码活动图:流程图带泳道的活动图:分组的活动图双泳道的活动图

2015-12-25 18:44:21 509

原创 bat批处理学习

::学习书籍 《批处理入门手册》修正版.chm

2015-11-29 23:15:12 964

原创 swift2.0 - study

////  main.swift//  mycmd////  Created by zhaoxuhui on 15/10/27.//  Copyright © 2015年 zhaoxuhui. All rights reserved.//import Foundationvar str = "Hello, pl

2015-11-05 22:59:44 593

翻译 swift - The command pattern

The command pattern provides a mechanism by which details of how to invoke a method can beencapsulated so that the method can be invoked later or by a different component.  命令模式:把每一次执行的命令放到一个队

2015-09-01 23:41:24 417

翻译 swift - The Chain Responsibility pattern

The chain of responsibility pattern is useful when there are multiple objects that could takeresponsibility for a request but you don’t want to expose details of those objects to the callingcomponent.

2015-08-31 23:40:31 392

ClassLibrary1.7z

C#创建ActiveX

2019-12-31

vc ctreectrl 树控件 节点 重绘

vc ctreectrl 树控件 节点 重绘

2016-03-10

网页提示脚本,类似于百度搜索的自动提示

网页提示脚本,类似于百度搜索的自动提示,里面有替换步骤,有html的demo

2014-04-17

鸟哥的Linux(第三版).pdf

鸟哥 Linux 第三版 pdf 教程 由于本人分块不够了,所以上传一本好书,望大家有时间多学习一些。 15.7MB pdf的,电子版,可打印,简体。

2010-12-09

Macraigor.Systems.Flash.Programmer.v3.0.7 with .Incl.Keygen-EDGE.rar

Macraigor.Systems.Flash.Programmer.v3.0.7 with .Incl.Keygen-EDGE.rar

2010-12-09

CTreeCtrl控件重绘总汇

自己辛苦整理的,所以10分。 http://hi.csdn.net/crazyeveryday

2010-12-08

vc批量重命名 源代码

自己写的,所以分高一些。 http://hi.csdn.net/crazyeveryday

2010-12-08

wxSmith Plugin

It seems in the platform of Windows.

2010-08-03

visual assist 1738 破解版

visual assist 1738 破解版 欢迎下载

2010-03-06

COM技术内幕 pdf

COM技术内幕 我个人认为com就是一个规范,就像协议一样,这个规范取决于c++和编译器的特性。

2010-01-07

空空如也

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

TA关注的人

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