- 博客(871)
- 资源 (25)
- 问答 (1)
- 收藏
- 关注

原创 深入探究C++2.0(C++11/14)【底层源码解析auto、智能指针、右值/万能引用、lambda表达式、并发编程】
文章目录0 背景1 内容0 背景因为C++11、14、17等相对与C++98来说,发生了巨大的改变,比如右值引用、可变模版参数、自动化类型推导、lambda、智能指针、tuple、Initialization_list等。可以说如果不了解C++2.0,可能看到这些特性编写的程序,就仿佛看到一门新语言一样。这些新的特性,并没有使得程序变得更加复杂,反而是使得程序更容易编写(如可变模版,可传递不限定的参数个数),并且提升了程序的效率(如右值引用,减少参数拷贝的时间消耗)。因此我觉得很有有必要了解并使用这些特
2021-04-15 23:38:47
467
3

原创 C++面向对象高级编程十九讲
文章目录0 背景1 内容0 背景因为本人的C++基础不是很扎实,很多面向对象的基本语法掌握的不是很熟练,导致写程序出错时,经常会犯错,于是就去网上找到了侯捷老师的C++课进行观摩学习。本文是在观看完侯捷老师的《面向对象高级开发》课程后一些笔记和心得。文中老师一直强调要养成写C++大气、正规、高效的编程方法,实际就是要培养良好的编程习惯。1 内容讲数标题第一讲防御式编程第二讲内联函数第三讲构造函数第四讲类第五讲常量第六讲参数传递第七
2021-04-01 22:51:23
475

原创 最好的C++入门书籍《Accelerated C++》 ——附全部课后习题答案以及学习心得
篇章目录1 内容简介2 作者简介3 心得与习题答案1 内容简介内容简介:《Accelerated C++ 中文版通过示例进行编程实践》系统介绍C++程序设计,是美国斯坦福大学的经典教材。从使用C++标准库中的高级抽象开始,使读者很快掌握编程方法。每一章都有很经典独特的例子以及非常到位的讲解,覆盖了C++更多领域的内容,从标准库容器、泛型算法的使用,到类的设计、泛型算法的设计,本书都进行了详细的...
2020-03-21 14:51:03
4765
2

原创 PAT甲【所有题目+解析+代码示例+总结】附带所有历年整体+讲解+代码
PAT (Advanced Level) Practice题目总结1001 A+B Format字符串处理1002 1002 A+B for Polynomials (25 分)简单模拟1003 Emergency (25分)——Dijkstra(邻接表、邻接矩阵)、Bellman_Ford、SPFA最短路径1004 Counting Leaves (...
2020-03-03 09:56:03
1617

原创 PAT乙【所有题目+解析+代码示例+总结】附带所有历年整体+讲解+代码
题目总结1001总结1002 写出这个数 (20 分)总结1003总结1004总结1005 继续(3n+1)猜想 (25 分)总结1006总结1007总结1008 数组元素循环右移问题 (20 分)总结1009 说反话 (20 分)总结1010 一元多项式求导 (25 分)总结1011 A+B 和 ...
2019-03-16 22:48:34
710

原创 蓝桥杯C++A、B组【所有题目汇总+解析+代码实例+总结】第三届~第十届
第九届蓝桥杯C++A组C++B组1,分数1,第几天2,星期一2,明码3,乘积尾零3,乘积尾零4,第几个幸运数4,测试次数5,打印图形5,快速排序6,航班时间6,递增三元组7,三体攻击7,螺旋折线8,全球变暖8,日志统计9,倍数问题9,全球变暖10,付账问题10,乘积最大总结归纳总结归纳第八...
2019-03-16 22:06:37
3262

转载 20几岁,你的存款有多少?
看到这个标题,很多人的第一反应可能是,开什么玩笑,20几岁我才刚毕业,能有多少存款。 这个标题是去年我在一个公众号上看到的一个话题,作者发了一篇这样的推文,内容只有这几个字:“20几岁,你有多少存款?”为的是征集广大读友的答案。 刚开始看到这个话题,我和大多数人的反应也是一样,觉得考虑到存款多少的问题,至少也应该在工作了几年奔三的时候。 然而,当我看到网友对这个话题的评论后...
2019-02-11 20:38:24
616

转载 如果你到了25岁,还没到30岁。——李开复
如果你到了25岁,还没到30岁。——李开复如果你已经过了25岁但还不到30岁的话,你必须找到除了爱情之外,能够使你用双脚坚强站在大地上的东西。你要找到谋生的方式。现在考虑不晚了。我从来不以为学历有什么重要,天才都不是科班,但,不是科班,连龙套都跑不了。你必须把那些浮如飘絮的思绪,渐渐转化为清晰的思路和简单的文字。不要琐碎,无病呻吟。不要想到什么就写。不要流连于小感伤和小感动。我要你相...
2019-02-11 20:18:22
539
原创 对分段有序的数组排序(前、后部分分别递增)
设m+n个元素顺序存放在数组A[1…m+n]中,前m个元素递增有序,后n个元素递增有序,试设计一个在时间和空间两方面都尽可能高效的算法,使得整个顺序表递增有序。把数组A看作是两个长度分别为m和n的有序表L1、L2,把L2的每个元素依次插入到L1中的合适位置即可。时间复杂度:O(m+n)空间复杂度:O(m+n)时间复杂度:O(mn)空间复杂度:O(1)
2023-10-01 20:00:00
106
原创 辨析目录表、文件打开表、文件分配表、索引表、FCB、inode、fd等文件系统常见名词
以下内容仅供简单的辨析这些文件系统最基本的名词,如果需要更深入的了解,请查阅相关转移书籍,如《现代操作系统》、《操作系统概念》、《操作系统精髓与设计原理》等书籍。
2023-09-19 23:00:00
160
原创 中心对称链表
例1: 对于单链表”xyzwqyx”,把后半段yxx依次存入栈中,栈中为xyz,依次遍历单链表的前半段xyz,遍历x时,比较栈顶元素z;遍历y时,比较栈顶元素y;把单链表的后半段依此存入栈中,然后遍历单链表的前半段,每遍历一个元素,就从栈中弹出一个元素,进行比较,如果值不相等,则该链表为非对称链表,否则,当栈为空时,则该链表为对称链表。把单链表的后半段原地逆置,然后使用双指针p、q依次遍历单链表的前半段和后半段,若相等,则将p、q指向下一个元素,当q指向空指针时,该链表为对称链表;否则该链表为非对称链表。
2023-08-13 21:08:11
180
原创 最长连续相同子串————晴问算法
设置一个最大量(记录连续出现字符最多个数)和连续量(记录连续值),从字符第二个位置逐一遍历整个字符串,当前字符与前一个字符不同时,则让连续值与最大量比较,然后连续值清零,否则连续值加1.每比较一个字符,得到连续出现的字符个数后,与记录最终结果的ans统计量比较,如果统计值大于ans中存储的统计量,则更新,如果ans中没有该字符的数据,则复制count中的统计量。逐一统计连续字符出现的次数(用map存储键值对),当出现不同的字符时,清空上一个字符的统计量count。
2023-06-25 19:15:00
527
原创 Python面向对象编程
注册的虚拟子类不论是否实现抽象基类中的抽象内容,Python都认为它是抽象基类的子类,调用 issubclass(子类,抽象基类),isinstance (子类对象,抽象基类)都会返回True。如果多个超类以不同的方式实现了同一个方法(即有多个同名方法),必须在class语句中小心排列这些超类,因为位于前面的类的方法将覆盖位于后面的类的方法。虚拟子类:将其他的不是从抽象基类派生的类”注册“到抽象基类,让Python解释器将该类作为抽象基类的子类使用。(5) 将找出的方法和属性分配给各个类。
2023-03-05 09:06:37
890
原创 专业408历年算题大全(2009~2023年)——附带详细代码和多种思路
2010(另设数组移动/逆置数组2011(排序/归并合并数组/数组指针后移/两个数组的折半查找2013(双重枚举/排序/空间换时间/技巧——两两抵消2016(排序/类快排思想排序2018(暴力枚举/排序后扫描数组/空间换时间——hash2020(三重for循环/二重循环+指针后移/一重循环+两折半查找/技巧——贪心+三指针后移。
2023-01-31 23:13:32
2314
2
原创 2017年408专业算法题
因为要转换为中序表达式,因此使用中序遍历。在中序遍历的过程中,对于当前访问的非空结点p,则先输出"(“,然后递归调用左子树,输出p的权值,递归调用右子树,输出“)”,如果p是根或者叶结点,则不需要输出“(”或”)"。
2023-01-31 20:39:02
1019
原创 2016年专业408算法题
因为快排的基准元素元素左边一定小于等于基准元素,基准元素右边的一定大于等于基准元素,故如果中位数小于基准元素,则只对右边的部分继续排序,中位数大于基准元素,则只对左边的部分继续排序。尽可能的大,则需要使划分的两个子集个数尽量想等,较小元素为一个子集,较大元素为一个子集。进行类似快速排序的做法,在处理左右区间时只处理可能包含中位数的区间,即如果区间的范围是。根据前面的思路,对数组进行快速排序得到升序序列,前一个序列取。
2023-01-31 20:10:30
1139
原创 2011年专业408算法题
归并的方式为:给数组A和B的下标设置变量i和j,初始为0,每次比较A[i]和B[j],数组C的下一个空位保存较小的那个元素,并使对应的数组下标后移,直到一个数组遍历完,把另一个数组剩下的元素依次保存到数组C中。让数组A和B比较n-1次,到第n次时,此时A[i]和B[j]中较小的一个就会放在数组C的第n个位置上,即中位数。对数组A、B进行折半查找,设L1、R1为数组A的左右查找边界,L2,R2位数组B的左右查找边界。序列A:11,3,15,17,19。序列B:2,4,6,8,20。
2023-01-29 22:36:15
1221
原创 jetbrains软件打开后突然闪退
在使用jetbrains编程软件时,突然出现打开就闪退的情况。一开始还以为是系统升级到macOS13.1的原因,经过查阅网上资料,发现macOS13.1没有此类的问题。就把问题确定在软件的配置上。未知,官网也未给出解释,但是大佬给出了解决方法(,然后保存文件,最后重启计算机。
2023-01-18 17:44:37
1602
6
原创 2021年专业408算法题
遍历邻接矩阵的每一行和列的非零元素的个数,来统计每个顶点的度(出度和入度和),并记录度为奇数的顶点个数,若个数为0或2,则返回1,否则返回0。空间复杂度:O(1)时间复杂度:O(n)
2022-12-31 17:13:19
940
原创 2023年的专业408算法题
遍历有向图的所有顶点,并统计各顶点的入度(矩阵第i行元素个数)和出度(矩阵第i列的元素个数),输出出度大于入度的K顶点,使用count变量统计K顶点的总数。对于一个有向图,如果一个顶点的出度大于入度,则这个顶点称为K顶点。,输出有向图中所有K顶点,并返回K顶点的总数。(2)用C/C++实现算法。(1)说明算法思想;
2022-12-30 23:20:28
1383
3
原创 C++/Java调用C++动态链接库————附带示例和详细讲解
jni需要先编写Java代码,然后转换成C++代码,被调用的C++代码再去实现Java转转后的C++方法。这里使用是jna调用C++中的方法,原因就是不用改写C++的代码,相对简单一些。不过这个需要被调用的C++方法,改写对应的的数据结构,以便Java调用。注意在编译之前,需要在头文件中声明后面动态链接库函数中需要被调用的函数。如果是在Linux下,不实用开发集成环境,直接使用JDK自带的指令进行编译和运行。各个平台的动态或静态链接库的格式,mac环境下的都是。文件,在windows上为。
2022-12-26 22:56:07
3651
原创 2006. Count Number of Pairs With Absolute Difference K(的绝对值为 K 的数对数目)————附带详细代码和解析
文章目录0 效果1 题目2 思路2.1 思路12.2 哈希3 代码3.1 思路13.2 思路20 效果1 题目2 思路2.1 思路1暴力枚举2.2 哈希数组(hash)统计向量中每个元素出现的个数,然后i从1到i+k<101开始遍历,结果集等于累加hash[i]*hash[i+k]的和。3 代码3.1 思路1class Solution {public: int countKDifference(vector<int>& nums, int k)
2022-12-26 22:30:34
797
原创 Matlab转C++代码入门————附带详细代码和示例
一般Matlab中的代码,有一部分方法是无法转换成C++的,例如图像化UI、文件写出等接口。一般做转换的话,需要把业务逻辑从界面中抽取出来,去除与界面相关的代码,把需要显示的值,作为函数的返回值。例如,预先定义变量。...
2022-07-30 10:29:05
3909
原创 CMake安装、配置编译C++代码(Mac、Linux)————附带详细步骤和代码
文章目录0 背景1 安装CMake2 使用CMakefile.txt编译C++程序0 背景因为需要使用cmake来进行跨平台编译,所以根据网上的资料学习和总结成此文。1 安装CMake## 1. 查看当前cmake版本[root@localhost ~]# cmake -versioncmake version 2.8.12.2## 2. 进行卸载[root@localhost ~]# yum remove -y cmake## 3. 进行安装包的下载,也可以下载好安装包后传至相应的目录
2022-07-30 10:24:38
2706
1
原创 Kylin4.0下载安装指南———附带详细安装过程
Apache Kylin™是一个开源的、分布式的分析型数据仓库,提供Hadoop/Spark 之上的 SQL 查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由 eBay 开发并贡献至开源社区。它能在亚秒内查询巨大的表。Apache Kylin™ 令使用者仅需三步,即可实现超大数据集上的亚秒级查询。1定义数据集上的一个星形或雪花形模型2在定义的数据表上构建cube3使用标准 SQL 通过 ODBC、JDBC 或 RESTFUL API 进行查询,仅需亚秒级响应时间即可获得查询结果...
2022-06-20 21:45:00
2887
2
原创 Python写入日志到Elasticsearch(logging/loguru,可个性化定制写入信息)————附带详细代码和示例
Python日志写入,使用logging/loguru,可以增删字段、自定义消息格式,有详细的代码和示例。
2022-06-09 14:24:45
1493
1
原创 ‘CMRESHandler‘ object has no attribute ‘_timer‘,socket.gaierror: [Errno 8] nodename nor servname pro
在Mac上调用Python的CMRESHandler进行的日志写入时,遇到如下错误。一开始还以为是自己的语法出现了错误,排查出发现问题出在库中的代码上。在网上找了一圈都没有发现解决方案,遂记录一下,方便以后他人查找。解决问题后,成功写入es:出现问题的原因,是库中下面的语句获取ip时,出现了错误(报错地方)。由于我们不能去修改库中的代码,因此我们只能把库中的代码单独提取出来,然后修改出错的地方,再单独引入这个文件。修改的后文件如下(其他关联的文件也一并的放到了该文件中):由于下面的库作用不大,就没有
2022-06-09 11:06:22
810
原创 简谈元宇宙(谨代表个人观点)
本文就是简单谈谈书中讲到的关于元宇宙的内容。元宇宙(Metaverse):由Meta(超越)和Universe(宇宙)两部分组成。元宇宙并不是虚拟的游戏,而是现实和虚拟相结合的产物。它并不单单指某项技术或某项物件,它是一系列技术和物品为基础,创造的东西。它是在讲述未来人类世界的发展方向(元叙事:充满故事性)。21世纪许多技术突飞猛进,为其出现创造条件,具体如下:从古至今,人类都在追求和探索世...
2022-06-02 13:23:08
468
原创 解决Anaconda的python覆盖linux本地python版本
文章目录1 问题复现2 问题解决1 问题复现出现这个问题的原因是,在linux上安装了Anaconda后,无论python软链接怎么建立,输入python,输出的永远都是Anaconda中的python3。现在想要做的是输入python使用的是linux自带的python版本,输入python3使用的是Anaconda中的python版本。出现这样问题的原因,可能是因为~/.bashrc中初始化Anaconda时,自动添加了对应的环境变量:# >>> conda initializ
2022-05-31 22:15:00
1063
原创 谈谈与Java的那些事(从入门到放弃,到再入门)
文章目录0 序言1 初识Java2 再识Java3 再入门4 一些感想0 序言本文纯属闲聊,不具有学习或参考的意义。1 初识JavaJava这个单词直到上大学的第一天才被我知道,记得当时还是面试卓越班的时候。为了介绍自己会一点编程,之前也看过一点Java(可以说几乎不会,不过之前诺基亚手机就可以经常看到Java的图标,不过当时的诺基亚好像是用qt写的,后面手机系统没有用qt写,真是可惜了,虽然还有qt quick,但是比起Android,还是有很大差别),不过不会读这个单词,当时面试的时候,就说了之
2022-05-26 23:30:48
335
原创 vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >@GLIBCX
文章目录1 问题重现2 解决2.1 升级gcc/g++2.2 升级c++动态链接库(libstdc++.so.6)3 福利1 问题重现在linux服务器上,使用cmake编译运行matlab转出的c++代码时,遇到了这样的问题。一开始还以为是代码的问题,比如没有引入某些头文件什么的,检查后发现这些问题都没有(而且在mac上可以正常编译)。通过查阅网上资料发现,出现问题的原因是因为centos系统为了稳定,很多编译软件的版本都比较老旧,导致了出现这样的问题。2 解决既然知道了问题原因,那升级软件就可
2022-05-26 17:41:46
482
原创 dyld[63342]: Symbol not found: __ZNSt12length_errorD1Ev Expected in: /usr/local/Cellar/tbb/2021.5.0_
文章目录1 错误重现2 解决1 错误重现自从更新了mac系统12.1后,使用clion的编译器写c++时,遇到了各种错误。这是使用opencv时,爆出的错误。这是使用matlab动态链接库时,爆出的错误。可见mac系统更新后,出现了很多相同的错误。2 解决出现上述原因的问题都是软件版本太老了(之前还找问题,找了半天),更新软件即可解决问题。例如,第一个错是opencv版本太老了,之前用的4.3,后面更新成4.5后,错误就解决了。也就是一般要把软件版本更新到2021年下半年后的版本。
2022-05-19 17:18:02
560
原创 Java知识三分钟快速上手(去除细枝末叶的细节)
Java快速入门文章目录Java快速入门0 背景1 变量1.1 primitive类型1.2 primitive封装类1.3 保留的关键字1.4 只有值传递,没有引用传递1.5 格式化1.4 autoboxing与Unboxing2 类和对象2.1 实例变量和局部变量2.2 堆、栈2.2.1 CG2.3 构造函数2.4 构造执行顺序3 继承(extend)3.1 原则3.2 设计方法3.3 意义3.4 可以被继承的类3.5 覆盖父类的方法3.6 不能被实例化的类(抽象类)3.7 在父方法中添加内容3.8
2022-04-30 09:45:23
439
原创 带你快速体验一次简单的Spring Cloud的微服务(玩具服务)————附带详细代码
文章目录0 背景1 创建项目2 创建微服务附录父项目的pom.xml子pom.xml0 背景本文只是为了给想体验Spring Cloud微服务项目的同学快速上手的一个玩具项目(本人也并非专业的Java网页开发,也只是想花很短的时间体验一下微服务),目的只有一个体验一下Spring Cloud。这里首先创建一个简单Sprong Boot项目,下一期再进行微服务的操作,例如服务注册、负载均衡、容错保护(服务降级、服务熔断、请求缓存、请求合并、依赖隔离)等。如果想系统的学习,可以根据相关的书籍进行学习。1
2022-04-28 09:55:58
779
Qt WIndwos和Linux下的SSL文件
2021-05-11
Qt post请求发送和解析json数据完整示例,有完整的设置框架,可以发送和解析多个post请求
2021-03-14
loginTest.zip
2020-04-20
QSetting操作ini文件(包括增删改查),自己封装了QSetting类
2020-04-20
QtTcpImage-master.zip
2020-04-19
OpenCV 3计算机视觉:Python语言实现——高清版带书签全书+源代码
2019-04-05
ACM国际大学生程序设计竞赛:算法与实现(高清完整带书签版)
2019-03-20
590412 数据结构、算法与应用 C++语言描述 原书第2版——高清扫遍版带书签
2019-03-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人