自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

韩江雪de 小屋

生命的至乐在于制心一处、制身于一境,克己、修心、信仰。

  • 博客(33)
  • 资源 (26)
  • 论坛 (3)
  • 收藏
  • 关注

原创 C++面向对象高级编程十九讲

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

2021-04-01 22:51:23 27

原创 爬取数模网站上的论文——————附带完整代码

文章目录0 背景1 实现代码0 背景因为项目需要,需要进行数据科学方面的建模分析,而数模论文就是很好的范本,于是就是想着下几篇数模论文自己学习一下,于是就来到了全国大学生数据建模的网站,但是发现论文竟然是一张张的图,游览起来费劲,于是就产生了使用爬虫爬去图片的想法。有了需求,当然就要实践了,于是经过一番摸索和搜索资料终于实现了论文图片的爬取。原理其实很简单,就是通过请求获得网页源代码,然后在其中找到下载链接,进行中逐一下载,并过滤自己不需要的图片,仅保存自己需要的结果到指定路径。本文就是记录这个过程

2021-04-30 09:02:37 21

原创 如何构建高质量软件———大讲堂

文章目录0 背景1 内容0 背景本文内容源自《代码大全》,摘录和学习的目的是为了培养良好的编程习惯。1 内容讲数心得第一讲如何使用条件语句

2021-04-26 23:00:59 4

原创 if、else、switch就该这么用,你知道吗?——————如何构建高质量软件

文章目录1 使用if-then-else2 使用switch-case语句1 使用if-then-else1, 先写正确处理的路径,再处理不常见的情况;2,确保对等量分之正确,例如不要把>= 写成>,犯下off-by-one(偏差一)的错误;3,把正常情况放在if后面,不要放在else后面;4,让if后面跟一个有意义的语句(不要是空语句);5,就算只需要一个简单的if,也要考虑else语句,就是写一个空语句,这表明了自己考虑到了这种情况;6,检查自己的if、else是不是搞反了;

2021-04-26 22:59:43 9

原创 Python实现熵权法(正负指标)并计算综合评分—————附增完整代码和测试用例

文章目录0 背景1 原理1.1 标准化1.2 信息熵1.3 权重1.4 计算评分2 代码实现0 背景因为最近在用python做数据科学方面的内容,在网上查看了很多Python的熵权法实现,没有发现一个令人满意的实现。很多都无法运行,或者是只针对正向指标,或者是只计算权重,没有计算综合评分。基于以上的原因,在参考一些博主的代码后,自己完善了上面的缺点。运行结果如下图所示,可以显示原始数据、归一化后的结果、参数的熵、每个物件的评分,平均评分、权重信息。1 原理1.1 标准化1.2 信息熵1.

2021-04-25 23:59:35 105

原创 Matlab实现熵权法并计算权重和综合评分——附增完整代码和测试用例

文章目录0 结果1 代码2 测试数据0 结果1 代码function [s,w]=shang(x)% 函数shang.m, 实现用熵值法求各指标(列)的权重及各数据行的得分% x为原始数据矩阵, 一行代表一个国家, 每列对应一个指标% s返回各行得分, w返回各列权重[n,m]=size(x); % n=3个国家, m=5个指标%% 数据的归一化处理% Matlab2010b,2011a,b版本都有bug,需如下处理. 其它版本直接用[X,ps]=mapminmax(x',0,1);即可

2021-04-25 23:30:20 105

原创 C++2.0(C++11/14)大讲堂

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

2021-04-15 23:38:47 15

原创 空指针使用nullptr、NULL还是0—————C++2.0第一讲

0 结论避免在整型和指针类型间重载,尽量使用nullptr代替空指针。1 nullptr、NULL和0一般情况下,人们经常习惯于使用0或NULL来代指空指针,这容易导致歧义或者程序编译错误。例如:下面的代码中,f(NULL)会导致歧义,使得编译器不知道调用哪个函数。#include <iostream>using std::cout; using std::endl;void f(void*){ cout<<"f(void*)"<<endl;}

2021-04-15 23:35:18 30 2

原创 解决Mac下使用python绘图出现中文乱码的情况

文章目录0 结果1 解决方法0 结果1 解决方法使用代码:import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['Arial Unicode MS']原理:Arial Unicode MS为Mac自带的字体,可以显中文。

2021-04-15 22:41:53 7

原创 C++通用引用计数类/句柄类/指针类【智能指针(share_ptr)、右值引用】————附带详细代码

文章目录0 背景1 讲解2 完整代码示例0 背景1 讲解2 完整代码示例#include <iostream>using std::cout; using std::endl;#include <vector>#include <stdexcept>class Core;class Derive;template <typename T>class ReferenceHandle{public: ReferenceHandl

2021-04-15 20:54:23 12

原创 当前标识(IIS APPPOOL\33)没有对“C:\Windows\Microsoft.NET\Framework64\4.0.30319\Temporary ASP.NET Files”的写访问权

文章目录0 错误1 解决0 错误问题重现:当前标识(IIS APPPOOL\DefaultAppPool)没有对“C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files”的写访问权限。1 解决此问题为在使用Windows的IIS搭建服务器时,遇到的问题。在网上尝试了各种解决方法后,终于找到了一个可以解决问题的方法,以管理员身份运行命令端,执行:C:\Windows\Microsoft.NET\Framewo

2021-04-08 23:56:24 25

原创 Qt 在Windows/Mac/Android下使用日志——————附赠完整代码和示例

文章目录0 背景1 Android环境下1.1 控制日志输出1.2 查看日志2 windwos/Mac0 背景一般情况下,我们在使用编译器运行软件的情况下,都可以打印出调试信息,但是如果是发布后的软件,就不能在编译器上看到调试、出错等日志信息,于是就要通过其他方法查看日志信息,一种比较好的方法,就是把软件日志输出到文件中,这样我们就可以通过文件查看。1 Android环境下结果:这是在编译器中打印的调试的信息:下面为使用adb查看MyRatailLog的日志信息:1.1 控制日志输出控制

2021-04-06 20:44:32 16

原创 python使用自己的代码模块或贡献自制项目(PYPI社区)——————附赠完整方法

文章目录0 结果1 方法2 卸载0 结果如果想使用自己创建的模块或者贡献自己的代码模块,就可能需要用到此文的内容。内容非常简单,python对贡献代码如此友好,我觉得是它社区发展的非常好的一个重大原因。1 方法1,新建一个文件夹,把自己的python代码放入其中,2,新建一个setup.py文件,在其中写入自己的信息,例如:from distutils.core import setupsetup( name = 'testInstall', version = '1

2021-04-05 22:28:25 20

原创 python快速入门—————附完整示例代码

文章目录0 背景1 基本数据结构0 背景因为项目涉及到做数据分析,因此需要用到python,所以借此机会学习了一些基本的python语法,学习使用的书籍为《Head first of python》,该书以实际的小项目为指引,从中穿插各种基本语法,学习起来也不枯燥。1 基本数据结构变量不需要声明类型,编译器会自己做类型推导。list(列表):特点:可以存储任何类型的数据[]操作:sch = []sch.append("中科大") # 追加到末尾sch.extend("南大", "浙大

2021-04-05 21:56:57 21

原创 configure: error: Valgrind works on Darwin 10.x, 11.x, 12.x, 13.x, 14.x, 15.x, 16.x and 17.x (Mac OS

文章目录0 错误重现1 解决0 错误重现1 解决因为想在mac下利用Qt配合Valgrind进行内存泄漏的检查,所以在官网下载了Valgrind,并进行了解压,使用./config获得makefile文件,结果报错了,提示不支持当前的mac版本,网上查阅了大量的资料显示目前mac版本的Valgrind还在实验阶段,虽然可以安转使用,但是还存在各种缺点,比如一直会曝内存泄漏,所以果断放弃,使用linux下安转使用Valgrind,安装命令如下:sudo apt-get install valgrin

2021-04-03 08:32:36 29

原创 第十九讲 虚函数之虚指针、虚表—————面向对象高级开发

1 虚函数之虚指针、虚表继承中的虚函数的继承,就是虚函数的调用权。下面的表中,例如A中有虚函数,因此类A的内存中,有一个虚指针(vptr),然后虚指针指向虚表(vptr),虚标中存储着函数的地址。...

2021-04-01 22:50:36 10

原创 第十八讲 不同类(指针类/仿函数)—————面向对象高级开发

1 不同类1.1 pointer-like class(仿指针)重载*、->运算符函数。#include <iostream>#include <cstdlib>template <typename T>class Share_ptr{public: Share_ptr(T* p):px(p){} T& operator*() const{ return *px;} T* operator->() const{

2021-04-01 22:48:19 7

原创 第十七讲 开始编写代码前的设计—————面向对象高级开发

1 开始编写代码前的设计1,考虑传入的参数时否可以是&(左值),是否用const(不会修改传入的值);传入&类型参数:只能是左值传入const &类型参数:可是左值或者右值(临时对象)&类型参数不能是右值的原因:传&的意图是改变对象值,但是传递右值时,编译器会生成一个临时匿名对象,让&类型参数指向它(这些临时匿名对象只会在函数调用期间存在,随后编译器便将它删除),因此不能做到更改值的意图,C++为了阻止这种情况发生,便在这种情况下禁止创建临时变量;

2021-04-01 22:45:36 5

原创 第十五讲 三大面向对象关系(复合、委托、继承)—————面向对象高级开发

1 三大面向对象关系(复合、委托、继承)1.1 composition(复合)关系:has-a1,构造关系:由内到外2,析构关系:由外到内例如:#include <iostream>class Son{public: Son(){std::cout<<"Son construction"<<std::endl;} ~Son(){std::cout<<"Son destroy"<<std::endl;}};

2021-04-01 22:42:00 15

原创 第十四讲 命名空间—————面向对象高级开发

1 命名空间1.1 意义和用法为了区分不同库中相同名称的函数、类、变量,使用了命名空间即定义了上下文。#include <iostream>namespace first_space{ void func() { std::cout << "first_space:func()"<<std::endl; }}namespace second_space{ void func() { std::cout

2021-04-01 22:39:05 5

原创 第十三讲 静态成员变量/函数+静态全局/局部变量—————面向对象高级开发

1 静态成员变量/函数+静态全局/局部变量静态的作用:1,延长生命周期(局部变量)2,都默认初始化为0(全局或局部修饰的变量)3,隐藏功能(只对同一个源文件有效【同名的.h、.cpp】,避免命名冲突)1.1 静态成员变量/函数1,静态成员变量:同一个类中只有一份,多个类共用一个;2,静态成员函数:函数内没有this指针,只能改变静态变量的值(因为静态成员函数属于整个类,在类实例化对象之前就已经分配空间了,而类的非静态成员必须在类实例化对象后才有内存空间),用于配合静态变量使用;静态成员函

2021-04-01 22:35:58 5

原创 第十二讲 编译器下的new和delete内幕—————面向对象高级开发

1 编译器下的new和delete内幕1.1 技术内幕例子:#include <iostream>#include <cstdlib>class A{public: A(){std::cout<<"constructor:"<<static_cast<void*>(this)<<std::endl;} ~A(){std::cout<<"destory:"<<static_cast&l

2021-04-01 22:32:09 16

原创 第十一讲 防御式编程—————面向对象高级开发生命范围

1 生命范围在栈中:1,生命域在作用域({ })中的auto object(带有析构函数),作用域结束,会自动调用构造函数;全局数据段:1,static object(被放在)在作用域结束后仍存在,直到程序结束;2,在作用域外,也就是全局对象堆:1,使用new/new[]创建的对象(注意:一定要配合delete/delete[]使用),因为不会自动销毁(如果是父类,一般析构函数要声明为虚函数,为了方便子类在多态时调用)...

2021-04-01 22:30:24 4

原创 第十讲 Big Three(三位一体原则)—————面向对象高级开发

1 Big Three(三位一体原则)“三位一体原则”:如果类需要一个析构函数,那它同时可能也需要一个拷贝构造函数和一个赋值运算符成员函数。测试例子:#include <iostream>#include <cstring>class A{private: char* m_data;public: A ():m_data(nullptr){}//默认构造 A (const char* _data){//实参构造 //(不使用初始

2021-04-01 22:29:00 7

原创 第九讲 临时对象—————面向对象高级开发

1 临时对象(local object)创建的临时对象,到下一行时,就会自动销毁,不能返回引用。

2021-04-01 22:25:58 7

原创 第八讲 操作符重载—————面向对象高级开发

1 操作符重载(operate overloading)分类:成员函数/非成员函数。区别:只有非静态成员函数中有this指针。使用非成员函数的情况:1,符合以往的编程习惯;例如,如果使用内部操作符函数,则会造成使用方式与以往不同的情况:因为不能更改已有cout的成员操作符号函数,因此只能创建一个非成员函数。#include <iostream>#include <ostream>class A{public: A(int _data = 0):m_d

2021-04-01 22:24:02 3

原创 第七讲 友元—————面向对象高级开发

1 友元赋予其他函数或者类访问类内部protected或者private成员的访问权限,打破了类的封装。相同类class的各object互为友元。

2021-04-01 22:22:39 5

原创 第六讲 参数传递—————面向对象高级开发

1 参数传递两种形式:pass by value(值传递)/pass by reference(引用传递)1,建议能传引用的尽量都传引用(底层使用指针实现【32位或64位都是4个字节大小】),因此传递时比其他大部分变量都快(除了单个字符【一个字节】);2,不能使用引用传递的情况,当传递的值位局部变量时,无法传递引用;例如:#include <iostream>class A{public: A(int _data = 0):m_data(_data){}//默认实参

2021-04-01 22:21:01 4

原创 第五讲 常量—————面向对象高级开发

1 常量1.1 常量成员函数格式(下面的const):return-type functionName(param ) const{}作用:表示该函数不会改变成员变量的值。例如下面的例子,常量对象a只能调用常量函数,如果调用非常量函数,就意味着可能会改变对象中成员的值,因为会报错。#include <iostream>class A{public: A(int _data = 0):m_data(_data){} int print(){return m_da

2021-04-01 22:18:46 6

原创 第四讲 类—————面向对象高级开发

4 类类中数据一般都使用private,来封装数据,防止他人随意更改。如果需要提供读取功能,使用存取器函数,例如下面的getData函数。class A{public: int getData() const{return m_data;}private: int m_data;};不使用任何访问范围的关键词,默认为private...

2021-04-01 22:16:34 4

原创 第三讲 构造函数—————面向对象高级开发

1 构造函数(constructor)一般使用初始化列表(initialization list)来初始化参数。没有在初始化列表中的成员参数会被隐式初始化构造函数一般是声明为public,供他人创建,也有声明为private的,例如单例模式。class A{public: A(int _data):m_data(_data){}private: int m_data;};单例模式:class{public: static A& getInstance(){//调用函数

2021-04-01 20:02:28 15

原创 第二讲 内联函数—————面向对象高级开发

1 内联函数(inline)inline:在类内定义的函数,都默认为内联函数,类外的函数,则需要在返回类型前添加inline。inline只是建议编译构建函数时,构建为内联的,具体是不是则由编译决定。inline作用:空间换时间,加快程序的运行速度。...

2021-04-01 20:00:50 14

原创 第一讲 防御式编程—————面向对象高级开发

1 防御式编程例如在定义头文件时,都使用#ifndef#define//...#endif为的就是防止头文件被重复包含。

2021-04-01 19:57:35 15

QSetting操作ini文件(包括增删改查),自己封装了QSetting类

QSetting操作ini文件(包括增删改查),为了操作方便,自己封装了QSetting类。 写这类的原因的是每次操作QSettings的指针时候,用完都要delete指针,比较麻烦,可以使用类的析构函数自动删除。还有写入值的时候,QSettings类的成员函数setValue每次都会覆盖之前的值,因此自己写的类成员函数,可以选择保存原始的值,以及对即将插入的值去重复或者是插入不重复的值。

2020-04-20

ACM国际大学生程序设计竞赛:知识与入门(完整高清版带书签)

ACM国际大学生程序设计竞赛:知识与入门,是你提高算法思想,锻炼算法实践能力的不二之选!你值得拥有!!

2019-03-19

Qt creator快速入门第三版——高清完整带书签版本(附送源码)

Qt creator快速入门第三版——高清完整带书签版本(附送源码),是你入门QT的不二之选!

2019-04-22

算法导论(第三版中文版)——高清扫遍版带书签

算法导论(第三版中文版)——高清扫遍版带书签,提高算法思想和算法时间的不二选择!你值得拥有!

2019-03-19

QtTcpImage-master.zip

默认支持传输png格式的图片,如果需要传输其他个数的图片,那么把client.cpp文件里的image.save(&buffer, "png");修改为相应的图片格式即可。 使用时,客服端和服务器填写相应的监听端口和地址即可,服务器默认监听"127.0.0.1"本机环路地址。

2020-04-19

Qt编写的裁剪图片软件

Qt编写的裁剪图片,可以拖动矩形框进行图片裁剪。

2021-04-15

挑战程序设计竞赛2 算法与数据结构(源代码)

挑战程序设计竞赛2 算法与数据结构(源代码)————内容简洁明了,提高算法的不二直选!

2019-03-19

代码计数软件(win)

可以统计代码行数、注释行数、各种语言占比等。

2021-04-15

《Qt 以及Qt creator实战经典》原版带书签附 +源代码

《Qt 以及Qt creator实战经典》原版带书签附 +源代码,带你通过一个一个项目熟悉Qt。

2005-06-24

算法笔记(高清完整带书签版)——轻松带你过PAT、CCF

算法笔记(高清完整带书签版)——轻松带你过PAT、CCF,是你提高算法思想,锻炼算法实践能力的不二之选!你值得拥有!!

2019-03-20

Qt post请求发送和解析json数据完整示例,有完整的设置框架,可以发送和解析多个post请求

Qt post请求发送和解析json数据完整示例,有完整的设置框架,可以发送和解析多个post请求

2021-03-14

590412 数据结构、算法与应用 C++语言描述 原书第2版——高清扫遍版带书签

590412 数据结构、算法与应用 C++语言描述 原书第2版——高清扫遍版带书签,是你提高算法思想,锻炼算法实践能力的不二之选!你值得拥有!!

2019-03-19

Qt Android自动更新

使用Qt的JNI调用Android的java更新代码实现自动更新

2021-03-23

算法笔记上机训练实战指南(高清完整版)带你轻松高分过PAT、CCF

算法笔记上机训练实战指南(高清完整版),是你提高算法思想,锻炼算法实践能力的不二之选!你值得拥有!!

2019-03-20

ACM国际大学生程序设计竞赛:题目与解读(完整高清带书签版本)

ACM国际大学生程序设计竞赛:题目与解读(完整高清带书签版本),是你提高算法思想,锻炼算法实践能力的不二之选!你值得拥有!!

2019-03-19

OpenCV 3计算机视觉:Python语言实现——高清版带书签全书+源代码

OpenCV 3计算机视觉:Python语言实现——高清版带书签全书+源代码,学习图像处理的不二选择!

2019-04-05

数据结构与算法分析:C语言描述(原书第2版高清带书签版)

数据结构与算法分析:C语言描述(原书第2版高清带书签版),是你提高算法思想,锻炼算法实践能力的不二之选!你值得拥有!!

2019-03-20

PAT真题解析完整版

PAT真题解析完整版,是你提高算法思想,锻炼算法实践能力的不二之选!你值得拥有!!

2019-03-20

《Qt5+编程入门》高清原版带书签+源代码

《Qt5+编程入门》高清原版带书签+源代码,是你学习c++和图形界面的不二选择!

2019-04-22

挑战程序设计竞赛——数据结构(高清带书签)

挑战程序设计竞赛——数据结构(高清带书签),提高算法的不二之选!

2019-03-19

算法竞赛入门经典(高清完整带书签版)---带你算法起飞

算法竞赛入门经典(高清完整带书签版),是你提高算法思想,锻炼算法实践能力的不二之选!你值得拥有!!

2019-03-20

ACM国际大学生程序设计竞赛:算法与实现(高清完整带书签版)

ACM国际大学生程序设计竞赛:算法与实现(高清完整带书签版),是你提高算法思想,锻炼算法实践能力的不二之选!你值得拥有!!

2019-03-20

Qt的windows和mac版编译好的opencv源文件

Qt的windows和mac版编译好源文件,下载即可使用。INCLUDEPATH +=/usr/local/Cellar/opencv/4.0.1/include/opencv4和LIBS += /usr/local/Cellar/opencv/4.3.0_5/lib/libopencv_*.dylib两句放在pro文件中就可以快乐的使用opencv了。

2020-06-28

OpenCV3编程入门_毛星云编著—高清带书签

OpenCV3编程入门_毛星云编著_电子工业出版,高清带书签,学习图像处理的不二选择!

2019-04-05

loginTest.zip

Qt实现模仿LOL游戏登陆(亚索为界面英雄)【动态桌面】(边框去圆角化)。有背景音乐,登陆成功背景音乐消失,返回登陆,又有背景音乐。登陆账号和密码为空都会报错,并且重设焦点。附件中还包含mac和windows的sql驱动。

2020-04-20

第4到第8届蓝桥杯c++Java组所有题目附带官方测试数据和代码

第4到第8届蓝桥杯c++Java组所有题目附带官方测试数据和代码

2019-03-23

Qt tableView中的代理继承重写paint函数绘制的图片,不会移动

发表于 2021-02-18 最后回复 2021-02-18

C++使用win32API调用报错

发表于 2020-08-22 最后回复 2020-08-22

C++/qt调用dl报错

发表于 2020-08-22 最后回复 2020-08-22

空空如也

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

TA关注的人 TA的粉丝

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