自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 什么时候用二级指针

二级指针的用法

2024-06-01 20:09:39 207

原创 缩小加锁的范围

锁粒度优化,时间换空间

2024-05-26 11:01:57 158

原创 c++换行----endl和\n

因为输出这种IO是很耗时的,所以c++里面用缓冲区来存储要输出的内容,这个时候\n就只是简单地往缓冲区里加上换行,至于什么时候缓冲区里的内容会输出,不管,而endl是会强制刷新缓冲区 ,并输出的。但是就是这么简单的东西 ,你问一个用了c++做了10来年开发的人,这两种由啥区别,这恐怕会难倒一批人。下面要接着说但是了,它差异背后的思维,是一种很重要且很常见的方法,就是缓冲区。从细小的知识点来学习背后的缓冲区思维,以后对我们的设计也是很有帮助的,只有多练习,并实际运行,才能掌握这一思维方法。

2024-05-12 09:42:17 194

原创 设计模式分类

【代码】设计模式分类。

2024-05-03 11:47:35 108

原创 头指针和头结点

【代码】头指针和头结点。

2024-04-27 11:10:24 104

原创 QFile open失败

仔细看了下文件名,想了下,是不是名字不符合windows的命名要求啊,这名字中间有:(冒号)。还有一个教训就是,测试真的很重要,经常犯的一个错误,就是我只改动了这几行代码,一目了然,明显没有bug,不用测试,实践证明,啪啪打脸的时候不会少的。这不科学啊,文件不存在,就创建,我看了下open的参数都没问题。再百度一下,什么路径也检查了几次,权限也没改变,不应该有问题啊,被其他程序占用,我这名字是跟着时间变化的,不存在被占用的问题啊。就是这迷之自信,后面我说看看日志中的内容,傻眼了,日志呢,一个都没生成。

2024-04-20 09:24:26 344

原创 C++中的RVO和NRVO

之前也不时接触过RVO和NRVO概念,但是总是害怕了解背后的原理,或者说对别人的原理介绍看了也理解不深,结果都是强行记忆,导致时间稍微长一点,不要说讲清楚RVO和NRVO是咋回事,就连RVO和NRVO英文缩写对应的全称是啥,都搞不明白。记忆是必须的,但是理解了之后的记忆,才能记得牢,运用时也才想得起来。接收函数返回值的变量为用户定义的,要么是保存在栈中,要么保存在堆区。那如何才能不拷贝呢,接着想到的就是如果返回值刚好就保存在用户定义的地方,不就省去了拷贝这一步。实际中,编译器也正是采用这个思路。

2024-04-14 17:27:50 208

原创 软件开发多线程之先了解你的CPU

线程开多少合适呢,一般的用法就是根据需要来,用到多少,就启动多少个线程,这个就有点简单粗暴了。稍微进一步,就是使用线程池了,这个就得实实在在定出个初始线程数量了。这个时候如果清楚自身CPU支持的线程数,心里就大概有数了。此时,我们的hardware_concurrency就排上用场了。正常返回支持的并发线程数,若值非良定义或不可计算,则返回 0。经过测试,无论是在电脑上直接运行,还是在虚拟机里运行,都能准确获取CPU的核心数。软件开发过程中,使用到多线程是不可避免的事情。

2024-04-05 16:36:09 217

原创 c++中lambda闭包之mutable

lambda表达式实际上就是一个独有的无名非联合非聚合类,其捕获的数据是它的类成员,该类重载了operator(),且默认情况下该成员函数是const,可以使用mutable关键字来去除const限定。“mutable”单词本身的意思是“可变的,易变的”。在多线程环境中,如果某个变量存在被其他线程更新的可能,CPU不能直接读取内存中该变量的值,而需要重新从寄存器读取。在lambda闭包中的mutable关键字用法就是属于这一类,用以去除const的限制。

2024-04-04 15:43:24 218

原创 华为笔记本Ubuntu虚拟机没有网络图标

最近在使用华为的笔记本MataBook D 16过程中,装了一个VMWare Workstation虚拟机,系统是Ubuntu22.04。最后一看,ubuntu的系统时间也不对,我时区选择的也没错啊,无意中看到了居然没有网络图标,上网搜索一番后,发现我的问题是windows vmware的一些服务没开启,手动开启后,问题解决。第一反应是,是不是默认的国外源问题,于是换成国内的清华源,结果还是不行。同时按住windows+R,输入services.msc打开服务和应用程序,确保上图中的服务都开启即可。

2024-04-04 11:16:30 109

原创 尾递归介绍

【代码】尾递归介绍。

2024-03-23 18:18:31 77 1

原创 c++ 函数重载踩坑记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、你觉得会匹配哪个重载函数?二、你以为的只是你以为的1.分析下过程总结前言 函数重载是C++开发者都会用到的一个知识点,看上去也挺简单的,一目了然,根本没有任何技术含量可言。 作为一个C++使用了几年的小白,我也是这么认为的,直到早上蹲坑刷知乎的时候,看到陈硕大佬的C++重载决议相 关文章,才发现,C++真是一年精通,三年熟悉,五年了解,十年用过。一、你觉得会匹配哪个重载函数?作为公司的一位老鸟,你在某天写了.

2022-05-08 15:15:01 213

原创 c++可变参数展开例子

文章目录前言一、应用场景二、代码1.终止条件2.可变参数函数主体3.测试总结前言上篇文章里列出了一种可变参数展开的例子,本文用一个实际例子来说明可变参数展开的另一种方法。一、应用场景在用Qt开发项目的过程中,经常会遇到这样的一种情况,需要把float,double,int等基本数据类型存到QByteArray中去,这个时候会用到QDataStream,但是QDataStream存在SinglePrecision和DoublePrecision的区别,默认浮点数,比如1.2f,我们需要显示设置为Si

2021-06-26 11:38:24 363

原创 QML小白之加载qml文件方法入门

前言 虽然做QT开发一直使用的是QWidget,但是了解QML也有一段时间了,加之以前做过Javascript开发几个月时间,对Javascript有一定的基础,最近一直想学习下QML相关内容。QML内容之多,想入门得有个契入点,我选择了*.qml文件的加载方式,对此做了个基本尝试。一、qml加入qrc资源文件 如果不考虑发布后qml文件修改,能不用重新打包生效qml文件里面的改动,可以考虑把qml加入qrc资源文件,编译的时候就在.exe里。二、动态加载qml1.QtQuick工

2021-03-13 17:04:34 2086

原创 小白入门C++11可变参数模板函数简单例子

小白入门C++11可变参数模板函数简单例子c++11可变参数模板函数 虽然在模板方面是小白,也能清晰认识到可变参数模板函数很强大,用好了,对写一些基础框架类很有帮助。但是小 白看c++相关技术文章,最怕的就是遇到模板相关内容,如果用四个字来形容就是晦涩难懂,如果用两个字来形容就 是头大。得益于去年双十一京东做活动,买了基本c++技术书籍,其中有本《深入应用C++11代码优化与工程级应 用》,这本书不入门模板知识点的话,连几页都翻不下去了,只好硬着头皮看书。因为

2021-03-03 22:42:05 294 1

windows 64位 libiec61850.dll release版本

采用VS2022 + win11编译的libiec61850 1.5.1源码,release版本,为需要者省去下载VS动手编译的时间

2024-05-03

windows 64位 libiec61850.dll

采用VS2022 + win11编译的libiec61850 1.5.1源码,debug版本,为需要者省去下载VS动手编译的时间

2024-05-03

空空如也

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

TA关注的人

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