自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 论坛 (4)
  • 问答 (2)
  • 收藏
  • 关注

原创 图解C++多态,虚函数、虚函数表、虚指针、重写与覆盖

多态        多态就是多种形态,C++的多态分为静态多态与动态多态。        静态多态就是编译器根据函数实参的类型判断出要调用哪个函数。比如函数重载和函数模板。        动态多态依靠的是虚函数表和动态绑定机制,因为是在运行时根据对象的类型在虚函数表中寻找调用函数的地址来调用相应的函数,所以称为动态多态。        本文仅

2020-11-19 17:03:43 121 2

原创 用类的空指针调用非虚成员函数和虚函数

        先来看下面这段代码:class A {private: int data;public: void fun1() { } virtual void fun2(){ }};int main() { A *p = nullptr; p->fun1(); p->fun2();}       p是空指针,fun1()是普通成员函数,fun2(

2020-09-14 22:47:14 199

原创 C++基础知识校招面试题,附答案

       本篇博客记录近段时间博主为准备秋招面试收集的C++基础知识面试题。问题后都附上了我自己总结的答案,这个答案可能是书上找的,可能是我自己理解的(所以有错误的地方希望大家能指出来),可能是看了好些博客总结的,可能有的是别人博客里的原话(侵删,请联系我)。       本篇博客会持续更新,后面面试面得越多博客里收集的问题就越多啦。1、C++为什么要提出引用?       引

2020-07-01 10:18:58 506 2

原创 深入理解C/C++标准输入输出,cin、scanf、getchar()、文件结束符EOF等常见问题详解

问题1:为什么我用while(cin>>a)一直跳不出循环?(cin的">>"函数返回值是什么?)问题描述:《C++ primer》上也出现过类似如下代码,然后自己在控制台输入数据,一直输入都跳不出循环。int a;while(cin>>a){}原因:cin是一个类,没有返回值,while判断条件其实是在判断">>“函数的返回值。”>>“是一个被重载过的运算符,这个重载函数的返回值类型为istream&,返回值通常就是输入流ci

2020-06-15 11:32:34 208 1

原创 关于五险一金你需要知道的事情

目录1、五险一金?2、养老保险缴纳比例?3、养老保险缴纳多少年可以领取?4、医疗保险缴纳比例?5、住房公积金缴纳比例?6、住房公积金可以用来租房吗?7、新工作和原工作在不同城市,换工作后已经缴纳的社保怎么办?8、新工作和原工作在不同城市,换工作后一定要转移社保吗?9、新工作和原工作在同一城市,换工作后已经缴纳的社保怎么办?              1、五险一金?养老保险医疗保险生育保险工伤保险失业保险公积金

2021-02-03 16:25:07 81 2

原创 小白投资理财必看:图解基金买入与卖出规则

       买入规则T日:交易日(Trading Day)的意思,以每天的15:00(同股市收盘时间)为分界线,过了15:00即为下一个交易日。T+1日:下一个交易日,若今天15:00前是T日,那么过了15:00就是T+1日。交易日:交易日(T日)的定义是指证券、期货、物资等交易的日期。实际上你可以将交易日理解为,除周末和法定节假日以外的时间。申购份额:你可以把基金想成一份一份的,你买的时候是算你买到了多少份基金,而不是说算你买到了多少钱的基金。申购费

2021-01-28 10:12:21 137

原创 图解三次握手四次挥手,小白都能看懂

三次握手过程

2021-01-21 16:33:05 47 3

原创 为什么TCP协议是三次握手而不是两次?

现假设A与B在通信。回答一:        假如现在出现了这样的情况:A发出的第一个连接请求报文,但这个连接请求报文在网络中长时间滞留了,延误的时间长到连接释放后才到达B。这本来是一个早就失效的报文,但B不知道啊,B就误以为A又一次发出了连接请求,于是开心地向A回复了一个确认报文,同意建立连接。        问题出现了,假如现在采用的是两次握手,那么上述情况,B回复以后连接已经建立了。而A根本没有要同B建立连接,自然也.

2021-01-20 21:30:57 24

原创 【Java】String类用法总结

       一、基本原理        在Java文档中将String类对象称为不可变字符串,Java字符串中的字符是不能修改的。这一点和C++不同,C++中字符串时可以修改的,C++中string类底层是用动态数组的方式实现的,可变长度,内容自然也是能修改的。       不可变字符串有一个优点:编译器可以让字符串共享。我们可以想象,各种字符串存放在公共的存储池中(字符串常量池)

2021-01-13 18:01:50 33

原创 【STL】关联容器之unordered_map用法总结

       一、基本原理        unordered_map是C++标准库提供的关联容器之一,保存的是键值对(key-value),我们可以通过key快速查找到其对应的value。unordered_map底层使用的数据结构是哈希表(hash table),因此在unordered_map中查找、添加或删除元素时间复杂度都是常数时间O(1)。此外,unordered_map中的元素是无序的。  &nbsp

2021-01-05 16:13:21 94

原创 【STL】关联容器之map用法总结

       一、基本原理        map是C++标准库提供的关联容器之一,保存的是键值对(key-value),我们可以通过key快速查找到其对应的value。map底层使用的数据结构是红黑树,因此在map中查找、添加或删除元素时间复杂度都是O(log(n))。此外,map中的元素还是有序的。       map使用场景:      &nbs

2021-01-04 20:20:04 31

原创 【STL】pair用法总结

               在学习关联容器之前,我们需要先了解名为pair的标准库类型。       一个pair保存两个数据成员,第一个成员是first,第二个成员是second。有什么用途呢?比如一个学生的学号和姓名,这两个属性是关联的,那我们就可以用pair来保存。              

2021-01-04 10:04:53 92

原创 【STL】容器适配器之stack、queue用法总结

       一、基本原理        deque内部使用动态队列的方式实现的,这个队列的元素可以是基本数据类型(如int、char、double等),也可以是类类型(如C++容器库里的string,或者你自定义的类)的。        初始化时,deque会申请比当前要容纳元素所需的内存更大一块的连续内存,预留出空闲空间,用于之后存放新添加的元素,这样就不需要每添加一个新元素就重

2020-12-28 11:24:09 17

原创 【STL】顺序容器之deque用法总结

       一、基本原理        deque内部使用动态队列的方式实现的,这个队列的元素可以是基本数据类型(如int、char、double等),也可以是类类型(如C++容器库里的string,或者你自定义的类)的。        初始化时,deque会申请比当前要容纳元素所需的内存更大一块的连续内存,预留出空闲空间,用于之后存放新添加的元素,这样就不需要每添加一个新元素就重

2020-12-21 16:14:27 44

原创 【STL】顺序容器之string用法总结

       一、基本原理        vector内部使用动态数组的方式实现的,这个数组的元素可以是基本数据类型(如int、char、double等),也可以是类类型(如C++容器库里的string,或者你自定义的类)的。        初始化时,vector会申请比当前要容纳元素所需的内存更大一块的连续内存,预留出空闲空间,用于之后存放新添加的元素,这样就不需要每添加一个新元素

2020-12-17 21:27:50 33

原创 【STL】顺序容器之list、forward_list用法总结

       一、基本原理        list是双向链表,forward_list是单向链表,在链表的任何位置添加或删除元素都很快,但是作为代价,这两个容器都不支持随机访问,为了访问容器中的某一个元素,我们只能遍历整个容器。       forward_list是C++新标准增加的类型,其设计目标是达到与最好的手写单向链表数据结构相当的性能,因此forward_list没有siz

2020-12-15 21:39:36 60

原创 【STL】顺序容器之vector用法总结

        标准库类型vector表示对象的集合,其中所有对象的类型都相同,集合中的每个对象都有一个与之对应的索引,索引用于访问对象。

2020-12-15 10:23:22 30

原创 C++转Java快速入门

               博主有C++基础,想学Java。以下内容是我边学边写的,主要通过与C++做一些对比来快速入门。       1、JDK、JRE与JVM

2020-12-09 17:37:10 75

原创 【C++代码】设计模式之策略模式

// =================================================================================class Strategy{public: Strategy() {}; virtual ~Strategy() {}; virtual void getCurrentStrategy() = 0; // 作为接口};// 派生类,策略1class Strategy1 : public Strate

2020-11-26 10:31:25 21

原创 【C++代码】设计模式之简单工厂模式(无内存泄漏)

        简单工厂模式的UML类图如下,其中MyVirtualProduct是抽象类,MyProduct1、MyProduct2、MyProduct3继承于MyVirtualProduct,表示实际的产品。SimpleFactory是工厂类,在工厂类中,负责根据客户端传入的产品类型去生产具体的产品。              简单工厂模式C++代码如下:// 枚举类型,目前

2020-11-24 10:48:46 38

原创 一个C/C++程序的一生:从源程序到可执行程序再到进程

1

2020-11-10 17:06:30 42

原创 一些秋招面经

        历时三个月的秋招结束啦,以下是楼主的面经,按时间记录的。              2020.06.30        招银网络提前批电话面1、 自我介绍2、 项目介绍4、 如何定义一个常量5、 const和define的区别6、 指针和引用7、 C++的内存管理机制8、 new和malloc申请的内存是在哪里,

2020-11-08 19:48:05 205 2

原创 Qt报错“QSqlDatabase: QMYSQL driver not loaded“的解决方案

        Qt和MySQL安装好了,在Qt里按照Qt连接MySQL数据库的步骤使用MySQL的时候,报错“QSqlDatabase: QMYSQL driver not loaded”。如图:                     解决办法:       首先确保你的Qt和MySQL位数一致

2020-10-19 21:37:03 1108

原创 【C++代码】信号量Semaphore

        C++11中并没有信号量Semaphore的库 让我们直接调用,但我们可以用C++11中提供的mutex和condition_variable来自己实现一个Semaphore类。              C++代码如下:#include <iostream>#include <thread>#include <mutex>

2020-10-05 16:12:08 115

原创 win10连不上网,“网络重置”后,网络适配器出现感叹号,右下角WLAN消失,网络连接是空白。

问题描述:        电脑弹出系统要更新某个关键系统组件,然后更新失败,由于急着出门,在未重新更新的情况下就关机出门了,然后回来打开电脑,发现连不上网了。        ① 屏幕右下角联网那里WLAN选项消失 ,如图:        然后我在“网络和internet设置”中点击了“网络重置”,更连不上网了!        ②网络适配

2020-10-02 18:12:45 2845 5

原创 C++多线程编程报错:“mutex destroyed while busy”

报错信息:        “mutex destroyed while busy”(互斥锁在忙碌时被销毁)              可能原因:        线程1对某个临界资源上了锁(lock),还没解锁(unlock)的时候,线程2就 强行 访问该临界资源。         &

2020-09-30 15:50:46 218 2

原创 ++i和i++是线程安全的吗?

       显然不是。               ++i和i++的区别在于一个是先自增再赋值,一个是先赋值再自增。(大家应该都知道,不详细举例子了)              ++i和i++的过程可以分为3步, 这3步并不是一个原子操作: ①保存临时i值,假设为temp②对temp值+1③将

2020-09-29 11:12:41 99

原创 CSDN Markdown编辑器的一些格式

Markdown编辑器提供了加粗、斜体、标题等,想要实现字体颜色改变、插入空格等怎么办呢?              (1)改变字体颜色<font color=pink > 粉红 </font><font color=bright magenta > 深红 </font> <font color=orange > 橘色 </font>

2020-09-28 11:30:57 36

原创 【Qt】动态刷新lcdNumber显示的值

        用lcdNumber控件显示数值可以调用函数display():ui->lcdNumber->display(qstr);         qstr是要显示的数值,类型为QString。但是,lcdNumber控件不会自己动态刷新显示值,也就是说,即使后面你的qstr发生了改变,lcdNumber显示的仍然是你调用display()函数时qstr的值。     

2020-09-28 10:52:01 265

原创 【C++代码】多线程编程入门

        好消息好消息,C++98里没有的线程库C++11里终于有了!!!不要9.9元,只要包含头文件thread,就可免费使用它,赶紧打开你的IDE开始多线程编程吧!                      1、join()              &nb

2020-09-27 16:38:13 37

原创 【C++代码】伪随机数

思路         按照一定的规则打乱有序序列,既然要求每次运行的结果不同,打乱的规则里就需要用到随机数 。              伪随机数 伪随机数序列是用确定性的算法计算出来的遵循某种概率分布的序列,程序的运行过程是一个确定的过程,每一条指令都是确定, blue         blue blue   &n.

2020-09-20 22:57:16 140

原创 【C++代码】合并K个升序链表(递归方法)

这个题的思路和归并排序的思路一样。归并的思想:递归地,或迭代地,将两个已经有序的数组或链表合并成一个有序的大数组或大链表。                      先来看合并两个有序链表的代码:        传入两个链表的头结点,new一个head节点当作合并后的链表的头结点,当两个链表都没有走到链尾的时候,将两链表的节点有序放入合并

2020-09-15 22:09:24 103

原创 虚拟机上安装Linux系统,报错信息:VMware无法连接XXX,因为主机上没有相应的设备

报错信息:(1)VMware无法连接floppy0,因为主机上没有相应的设备(2)VMware无法连接sata0:1,因为主机上没有相应的设备              VMware无法连接floppy0,因为主机上没有相应的设备。解决办法:        floppy0是软盘,主机上没有软盘设备,在设置里删除就行。步骤如图:      &n

2020-09-15 10:54:56 49

原创 【C/C++】sizeof()和strlen()的区别

sizeof(x):返回x所占内存的大小,单位为字节,字符串数组后的’\0’也会被算进去。strlen(x):返回x中字符个数,字符串数组后的’\0’不会被算进去。              例一 char s[] = { 'a','b' ,'\0' }; cout << sizeof(s) << endl; // 输出3 cout << strlen(s) <&lt.

2020-09-12 11:55:09 116

原创 图解SQL的连接:左连接、右连接、全连接、内连接、自然连接

SQL的连接分为三类:外连接(包括左连接left join、右连接right join、全连接full join)内连接 inner join自然连接 natural join              我们来看一个超级简单的例子(下面的地址单词写错了,每个图都要重改太麻烦了):        现在有两个表,一个是student_name学生姓名,有id和name(姓名)

2020-09-09 15:34:43 647

原创 SQL语句错误 Error Code: 1052. Column ‘id‘ in field list is ambiguous

原因:两表连接后,有两个同名的属性,不知道select的是哪个表的属性。       如:select id from student_name left join student_adress on student_name.id=student_adress.id;       解决办法:在要select的属性前加上表名。这里是将select id 改为select student_name.id&nbs

2020-09-09 11:13:16 1348

原创 MySQL插入中文报错:incorrect string value

问题:MySQL插入中文报错incorrect string value,错误信息如下图。                     原因:数据库的编码格式不正确。应该修改字符集为utf81、2、3、4、5、重新插入数据,成功了。...

2020-09-07 11:32:56 58

原创 【C++代码】归并排序(迭代与递归)

       二路归并思想:将两个已经有序和数组合并成一个有序的数组              迭代方法:        如图,先令子数组宽度为1,进行两两合并;第一轮之后,再令子数组宽度为2,进行两两合并;第二轮之后,再令子数组宽度为4,进行两两合并……直到子数组宽度为整个数组的大小为止。      &nb

2020-09-03 17:06:40 76

原创 Qt error: Unknown module(s) in Qt:Charts

问题描述:        我在一台计算机的Qt 5.9.7写了用到饼状图的程序,是能正常运行的代码。        将这个程序拷贝到另一台计算机的Qt 5.7.0里运行,出现编译错误:error: Unknown module(s) in Qt:Charts。              可能的原因:     

2020-08-25 09:53:29 351

原创 Qt与XP的各种版本问题

        开发环境一:我笔记本电脑上用的是Windows 10+Qt 5.9.7+visual studio 2017。        开发环境二:项目用的计算机上用的是Windows XP+Qt 5.3.2(后来重装成了Qt 5.7.0)+visual studio 2005。        在环境一里写的Qt程序放到环境二里去运行,别说了,各种错误,以下是持续更新的解决问题过

2020-08-23 22:36:10 210

空空如也

在QT中调用VC++导出的动态链接库编译出错

发表于 2020-07-02 最后回复 2020-07-04

求助,QT与MFC混合编程

发表于 2020-06-24 最后回复 2020-06-28

C++ 类内new的指针,如何释放?

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

电路网表里这些字母是什么意思??

发表于 2019-10-25 最后回复 2019-10-28

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

TA关注的人 TA的粉丝

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