自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Source Tree是什么?

用于MAC系统下的git管理工具

2020-04-27 14:11:54 514

原创 MAC系统怎么显式隐藏文件

command + shift + 。

2020-04-26 17:08:42 127

原创 Lua学习笔记-2020.6-14

—————————————————————————————————————————————————————————Lua的循环for关键字有一个奇怪的问题,如下图:在循环table数据类型时,并不是按照数据在table表中声明的顺序输出的,原因是什么呢?字符串的连接字符是..print ("sdsad" .. "afggh")...

2020-04-23 23:28:44 152

原创 size_t 在C++编程时的小坑

size_t是一个无符号类型,在减减时,二进制码减到0后就直接变为max(int)值,就是不会有负号存在。所以尽量注意这个数据类型。

2020-04-22 10:07:30 311

原创 C++ this指针需要显示说明吗

答案是不用的何为显式说明?就是一定要有如下代码class A {A this;};把this声明出来才叫做显式说明。很明显这个是不用的,所以不需要

2020-04-22 10:05:55 1481

原创 cocos2dx 入门必踩的几个坑 新手必看

1.cocos2dx对于win10有部分不兼容,当前时间(2020-4-20)不建议使用。2.cocos2dx的3.X版本不一定对ubuntu18兼容,不过都对16版本兼容3.cmake和python的版本一定要搞清楚4.运行测试文件是遇见file too short 的问题参见下面链接5.官方安装链接...

2020-04-20 13:34:35 965 1

原创 linux tree命令

tree命令可以显示出文件的文件结构,比ls等命令更直观一些。

2020-04-20 13:18:35 156

原创 linux学习之路 ln 软链 命令

该命令用于对系统中的文件做一个快捷方式使用方法:ln -s <源文件> <目标路径>会在目标路径处生成一个源文件的快捷方式。一般是安装了非系统软件,安装在其他位置上,用软链链接到/usr/bin位置。...

2020-04-20 13:17:40 112

原创 malloc 函数在函数中的小bug

malloc函数在堆中分配内存,函数实在代码区存储的,那么通过主函数向子函数传参,子函数中使用malloc分配内存为什么不能为主函数中的指针分配内存呢?void func (char *p) { p = (char*)malloc (sizeof (char) * 100);}int main () { char *p; func (p);}使用如上代码...

2020-04-18 10:50:09 249

原创 C++ explicit 使用方法

修饰只有一个参数的类构造函数。没有explicit修饰的构造函数是隐式构造函数,被explicit修饰的是显式构造函数。相反的implicit修饰的是隐式构造函数。什么是显式构造和隐式构造呢?先说隐式构造函数:class A {private : int a; char b;public : A (int _a) { // 一号函数 a...

2020-04-15 21:30:36 155

原创 两个元素交换不需要使用中间值的方法

一般我们替换元素就是int a = 0, b = 1;int temp = a;a = b;b = temp;需要引入中间临时变量temp,如下方法可以不引入使用类似于链式结构,将b元素放在a元素的下一个地址位置处,b也放在a的下一个位置。交换完成将二者的指针后移,原地址释放...

2020-04-14 22:32:43 303

原创 值类型和引用类型

值类型是变量内存所存的内容就是该该变量所代表的数值。引用类型是真正的数值存在内存中的一个地方,变量的内存只不过是指向了存数值的第一个内存地址,没有真正包含内存。简单来说,只有类、数组(string也算)是引用类型,其余都是值类型。...

2020-04-14 18:29:24 171

原创 内存溢出和内存泄漏

这二者是两个很相近的概念。内存溢出指的是申请空间时已经没有空间可以申请过来使用了内存泄漏是访问到没有权限访问的内存、已经被释放的内存,或者是已经是没有用的内存却没有释放掉...

2020-04-13 22:04:26 88

原创 野指针和内存泄漏

野指针就是指针没有指向任何内容(可能是没有初始化,可能是指向的内存被释放但是指针没有释放掉,依旧指向原来的内存。)或者指针指向的内存没有访问权限。内存泄漏指的是访问的内存已经被释放了,或者访问到了没有访问权限的内存。...

2020-04-13 21:58:00 154

原创 Java和C++的区别

1.Java基于JVM(Java虚拟机),可移植性很高。但是C++不行可移植性低一些2.Java是解释型的语言,编译生成的代码是可以被JVM处理的中间码,JVM再编译中间码成为机器码。但是C++是编译型的语言,由编译器直接生成了机器码,可以运行3.面向的不同,Java是纯粹的面向对象的语言,但是C++为了兼容C还会有一部分面向过程的内容存在。4.指针问题,C++有指针,可以对内存进行操...

2020-04-13 21:51:00 134

原创 深入理解C++stl容器vector

vector比较关键的成员函数有size (), capacity (), resize (), reserve ()这四个size()表示数组内部存在的元素多少,你push进去几个就是几个capacity()表示数组的容量大小,你在数组中开辟的内存空间有几个就是多大resize()为函数重新设计size的多少,resize的数量大于size()就增加默认值,少了就直接删除元素re...

2020-04-13 21:37:10 125

原创 C++之深入理解inline关键字

inline是内联函数,相当于只节省了函数调用的开销。但是inline只是给编译器的一个建议,编译器会对当前代码情况进行分析,看inline替换后是否增加了效率,增加了就替换,没有增加就不替换。...

2020-04-13 21:14:17 106

原创 new和malloc的区别 经典面试题

1.new是C++的关键字,malloc是C的库函数。虽然都是分配内存,但是有很大的不同。2.new分配的内存,存贮在自由存储区,malloc是开发者手动申请的内存,存放在堆区。3.new在申请内存时会先调用该类的构造函数,malloc并不会这么做。4.new不需要手动分配内存大小,由编译器自动计算出来。但是malloc需要手动分配内存大小。...

2020-04-13 20:48:08 273

原创 free和delete的区别 面试经典问题

1.free是C的库函数,delete是C++的关键字2.delete在释放内存之前调用类的析构函数,但是free并没有这个操作

2020-04-13 20:48:02 591

原创 宏定义的优缺点

米哈游三面的一个问题,问的很深,从宏定义是什么,干什么用,优缺点,到别的语言为什么没有,层层深入,很好的问题。结果我也很好的挂掉了。所以来讨论一下上述几个问题正确的答案到底是什么。1.首先什么是宏定义,在C++中只有#define算是宏定义,其余的#操作都叫预处理,所以宏定义就是#define,#define就是宏定义。2.宏定义的应用就是使用#define将指定的标识符用指定的字符串...

2020-04-13 19:40:51 1448

原创 论文中可以让代码变得非常好看的工具

http://www.planetb.ca/syntax-highlight-word

2020-04-12 19:11:41 858

原创 论文中写伪代码的工具

Latex用不明白但是有online的类Latex工具可以使用网址:https://www.overleaf.com/

2020-04-11 13:11:27 11441

原创 TopK 取出数组中前K大的元素

非常简单,三种方法,其实还有分治的简单方法,但是太难写了,算了!#include <algorithm>#include <iostream>using namespace std;int main (){ int k = 5; int arr [] = {9, 2, 4, 8, 1, 7, 5, 3, 0, 6}; // Way...

2020-04-08 10:21:50 326

原创 判断单链表是否有环、环长多少、入点为何、链表总长?C++实现

Q1.单链表是否有环?Q2.环长多少?Q3.入点为何?Q4.链表总长?A1.设置快慢指针,一个走两步、一个走三步,同时前进,如果二者相遇则有环,如果某一个指针遇到NULL则无环A2.在快慢指针相遇后,二者再继续遍历链表,直至二者指针重合,所经过的长度为环长A3.从二者的重合点和head指针处开始遍历,直到二者重合便为环的入点A4.将A2,A3统计的数据相加即可...

2020-04-08 09:31:59 132

原创 C++ 判断子串A是否在字符串B中 极其简单的方法

非常简单,代码如下:#include <iostream>#include <string>using namespace std;bool AisSubStringOfB (string a, string b) { if (a.size () > b.size ()) return false; else { for...

2020-04-07 20:40:00 2123

原创 希尔排序 简单易懂的优化插入排序

先来说说插入排序,是一种内部排序。在本数组内部按顺序遍历数组,取出当前元素插入到前面已经排好序的数组中的目标位置处,时间复杂度平均为O(nlogn)希尔排序是直接插入排序的一种改进版本,使用了一个增量方式,对某个增量下的新数组使用普通的插入排序,在逐渐缩小增量,直至该增量为1。但是真正的希尔排序算法适合使用链表来存放数组,代码不好写就算了...

2020-04-06 20:35:28 140

原创 静态链接和动态链接

1.静态链接指的是在代码生成可执行文件的时候,把静态链接库中的代码段直接放到可执行文件的目标代码位置。相当于把静态链接库中的代码直接放到运行的内存中。2.动态链接在运行可执行文件时没有将代码直接放入可执行文件中,而是将动态链接库里的代码段直接映射到程序的内存中...

2020-04-06 11:23:45 667

原创 C++ 类生成对象时内存的结构

一个类中都有什么元素呢?成员变量、成员函数。成员变量又分普通的成员变量、static静态成员变量、const常量成员函数分为普通成员函数、静态成员函数、虚函数、纯虚函数等那么他们分别又是如何在类的内存中分配的呢?1.内存对齐原则不论是在类中还是在结构体中,都需要内存对齐,具体对齐方式(有一个对齐系数——可以自己定义,同常是2、4或4的倍数,不是对齐系数倍数的元素会扩展...

2020-04-06 09:50:48 486

原创 C++ 的纯虚函数一定要在子类实现呀

C++的纯虚函数作为多态很重要的一环,充当了给子类接口的功能。但是这个接口一定要在子类实现才能通过编译。但是为什么一定要在子类实现呢????首先我们要明确一个概念,就是函数申请时我们在函数体里什么都没有写void func () {}这样的函数我们称其为空函数,但是函数体里也是有内容的,内容是空,相当于集合里的空集。所以只要有内容存在就没有问题的可以为函数申请内存。但是我们再...

2020-04-06 00:10:42 11151 9

原创 C++ 中有纯虚函数的类绝对不可以被实例化

C++中的纯虚函数只能充当接口的作用。包含纯虚函数的类绝对不能被实例化,不能实例化、不能实例化!!!千万要记住!!!不仅仅是包含纯虚函数的类不可以实例化,同时没有实现纯虚函数的基类的子类也不可以被实例化。!!!...

2020-04-06 00:06:00 2710

原创 C++ 函数其实可以不用写返回值的声明!

C++ 中不管是成员函数,虚函数,还是普通函数,其实都是可以不用写返回值的,也能通过编译。编译器会为函数自动生成一个默认的int类型返回值。而且不论你在函数内部返回什么值,都会默认的转换为int类型#include <iostream>using namespace std;class A {public: func () {return 0;} vi...

2020-04-05 23:47:30 3416 1

原创 C++ 结构体和类内存对齐的区别就是没有区别

二者没有区别!!!嘿嘿嘿不过有一些关键的问题需要注意如下:1.结构体和类作为空类或者空结构体时都是只有一个字节作为填充,毕竟一点内存都没有的元素是不现实的。2.在类和结构体中的成员函数(结构体在C++中也可以有成员函数的不知道吧哈哈哈)都是存放在代码区的,不占用类和结构体在栈区的内存!...

2020-04-05 21:48:43 168

原创 C++ 结构体和类有什么区别吗

在C中的结构体和C++的类绝对是有区别的。面向过程的C不存在封装的功能,所以结构体的所有成员变量都是public类型的,并且内部不能有函数(成员函数)。但是如果是作为C++中的结构体和类,他们之间的区别就没有那么大了。C++为了兼容C,让结构体和类尽可能的相似,现在的结构体也可以存在成员函数、private、protected、public、虚函数等内容,但是还是有细微的区别。1....

2020-04-05 12:01:47 351

原创 C++ 类之间的默认继承方式是private

C++ 类之间的默认继承方式是private ,如果想其他继承方式要指明:class A : public B {};

2020-04-05 11:10:10 2749

原创 判断一个数的二进制数有多少位1

其实这篇文章可以挖的很深,从二进制的本质出发有很多可以考虑的点。但是我并不能理解这么深55555从题目中的问题出发,我们将十进制转换为二进制的时候使用的是什么方法呢?将该数跟2取余,再除于2,反复操作,所有的余数加起来就是目标二进制数。那么统计其中位是1的位只需要在模2的时候记录累加。在将原来的数除以2.代码如下:#include <iostream>using na...

2020-04-01 15:20:38 5657 1

空空如也

空空如也

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

TA关注的人

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