自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Template函数模板

函数模板就是一个通用的函数,函数类型和形参不确定,用一个虚拟的类型来代表。凡是函数体相同的函数都可以用这个模板来代替。编译器自动推导实参的数据类型,生成该类型的函数定义。

2023-12-12 22:53:02 239

原创 内联函数(inline

内联函数,函数前面加关键字inline内联函数在编译的过程中没有函数调用的开销(不生成函数标记,没有压栈等调用过程),直接在调用处展开代码。注意:写inline是对编译器的建议,编译器在执行的时候会自己判断,发现这个函数不适合做成内联,那么写inline也没用,编译器会当成普通函数执行。

2023-08-02 21:49:53 285

原创 宏函数(define定义)与普通函数区别

起因是在看代码的时候看到了这样一块Prop;if!

2023-05-04 21:04:32 880

原创 VS的配置文件.sln、.vcxproj、vcxproj.user(4.20))

vcxproj.filters文件:xml文件。在下图中,.cpp 文件位于源文件节点下。.h 文件位于头文件节点下,.ico 和 .rc 文件位于资源文件下。vcxproj:xml文件,文件筛选器。.sln配置文件作用的范围是整个解决方案,而.vcxproj配置文件和.vcxproj.user配置文件和.vcxproj.filters配置文件对应的是具体项目。vcxproj.user:user是本地化用户配置,允许多个用户使用自己喜好的方式配置这个项目(例如打开项目时候窗体位置等与项目内容无关的配置)

2023-04-20 21:16:55 2789

原创 VS 配置管理器 debug_release,X86_X64,生成_部署

VS提供了这一功能。在重新生成这个项目,项目文件目录会有Release文件,里面的exe就是生成的。1)运行时库:Debug版本采用了一些保护机制来帮助发现错误,Debug版本的Runtime Liabrary(运行时库)加强了错误检测,应当指出,如果Debug有错误,而Release版本正常,程序肯定是有 Bug的,只是我们还没有发现。在汇编的层次上,X86与X64的寄存器长度不同(CPU同时处理的数据位数不同),同理寻址范围也相差很大,指令集也不一样。long的长度不同,X86是4B,X64是8B。

2023-04-20 21:16:15 2332

原创 lib静态链接库与dll动态链接库

lib库分为两种:静态链接lib库(静态lib库)。动态链接库dll库的lib导入库(lib导入库)

2023-04-20 21:13:58 538

原创 const修饰函数、返回值、参数(2.24)

因为上面说了形参在接收的时候是会创建一个临时变量的,那么对于传递的自定义类,他会new一个对象出来,这个对象调用构造函数构造,而在函数结束时还要调用析构函数析构,这样带来的开销就非常大了。以上,对于类的成员变量的修改,即使不是修改值,而是将成员变量从一个int型变为一个地址,这样也是一种对于成员变量的改变。而在const修饰的函数中,对于成员变量是给予了const属性的。而const成员函数只能调用const成员函数,对于非const函数,即使在函数内部没有修改成员变量,也不能被const函数所调用。

2023-04-20 21:12:20 5430

原创 C++输入型参数和输出型参数(2.24)

这时函数的输入(给函数本身的)输出(需要返回给使用者的)就都要靠参数来完成了。这里的参数指的是形参列表里面的参数。外部调用函数的时候通过形参列表把参数传给函数,函数再通过返回值拿到想要的结果。另注:const char *src不是说src指针本身不可变,而是说src所指向的元素是不可变的。**1.作为输入:**作为输入的指针型变量在函数内部是不会进行修改的,所以一般加const。:通常这个形参是指针型且没有加const,代表外部需要函数处理这个指针所指的变量。一、为什么做这种区分?

2023-04-20 21:11:24 1462

原创 C++Primer(4.20)cout、clog、cerr区别

上面的程序输出到cout.txt里面,但事实上只有cout重定向到文件里面了,cerr和clog只能在屏幕上输出,不能重定向。这段代码缓冲区没满,我也没做任何刷新缓冲区的操作,也能正常输出。而在缓冲区的帮助下,cout将数据先写入缓冲区,等到满足条件时一次刷屏输出。这样就基本搞清楚了,只用cout输出的话,万一程序崩了,想要输出的关键信息可能还在缓冲区里面没出来。1)强制刷新缓冲区:比如flush,还有endl(endl可以理解为/n+flush),程序结束的时候。cerr:无缓冲输出,不可重定向。

2023-04-20 21:08:50 412

原创 代码随想录day02_有序数组的平方

leetcode

2023-01-13 18:52:08 245

原创 代码随想录_leetcode刷题day01_704二分查找_27移除元素

leetcode刷题

2023-01-11 21:42:59 407 1

原创 JVM学习(二)Java内存区域与内存溢出异常

JVM学习(二)Java内存区域与内存溢出异常只记录在学习《深入理解Java虚拟机》时的一些个人理解,可能有理解错误的地方,欢迎指正。书里面的比喻很有意思,将C++比喻为内存机制里面的皇帝和劳动者,既拥有每个对象的所有权,又担当从开始创建到消除的全部责任。这个比喻还是比较贴切的。Java在虚拟机的帮助下,实现了内存自动管理的机制,对于一个new操作不需要手动的去delete(在写C++数据结构的时候我就经常因为忘记delete而出问题)。不容易有内存泄漏或者溢出。但是一旦出现内存问题却很难排查,

2021-01-31 12:47:11 248

原创 JVM学习(一)

JVM学习(一)只记录在学习《深入理解Java虚拟机》时的一些个人理解,可能有理解错误的地方,欢迎指正Java技术体系与Java语言发展史在之前已经学习过这里面不进行过多赘述Java是编译型语言还是解释型语言·“像C、C++ 他们经过一次编译之后直接可以编译成操作系统了解的类型,可以直接执行的 所以他们是编译型的语言。没有经过第二次的处理 而Java不一样他首先由编译器编译成.class类型的文件,这个是java自己类型的文件 然后在通过虚拟机(JVM)从.class文件中读一行解释执行一行,所以他

2021-01-30 11:18:22 137

原创 CSP 2020-06-01 线性分类器

逻辑有点混乱#include<iostream>using namespace std;struct Point { int x; int y; char type;};struct Inquire{ int a; int b; int c;};int main() { int n, m; cin >> n >> m; Point * p = new Point[n]; Inquire * quire = new Inquire[m]

2020-09-26 20:56:50 158

原创 csp 碰撞的小球

#include<iostream>using namespace std;struct Ball{ int a; bool s;};int main(){ int n, l, t; cin >> n >> l >> t; Ball b[100]; for (int i = 0; i < n; i++) { cin...

2020-02-26 20:19:29 202

原创 csp 买菜

#include<iostream>using namespace std;struct Time{ int a; int b;};int GetMin(int a,int b){ if (a >= b) return b; return a;}int GetMax(int a, int b){ if (a >= b) return a;...

2020-02-26 06:46:02 256

原创 csp 201812-1小明上学

#include<iostream>using namespace std;int main(){ int r, g, y; cin >> r >> g >> y; int n; cin >> n; int* k = new int[n]; int* t = new int[n]; int count = 0; f...

2020-02-03 11:42:03 13299

原创 csp 201809-1 卖菜

#include<iostream>using namespace std;int main(){ int n; cin >> n; int* a = new int[n+1]; int* b = new int[n+1]; for (int i = 1; i <= n; i++) { cin >> a[i]; } for (i...

2020-02-02 21:14:01 176

原创 csp 跳一跳

本人为初学学生菜鸟,如有问题还请各位指正,臣不胜感激涕零题目如下:我们可以分析得:开一个为30的数组,若上一个为0(且本次不为0),则不继续输入。如果本次为1,则加一,count 归0;本次为2 ,则 2+ count*2,并且count+1;代码如下:...

2020-01-31 11:46:30 291

空空如也

空空如也

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

TA关注的人

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