- 博客(57)
- 收藏
- 关注
原创 C++:queue笔记
常用函数积累,随时更新,方便查阅front():返回 queue 中第一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。back():返回 queue 中最后一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。push():在 queue 的尾部添加一个元素的副本。这是通过调用底层容器的成员函数 push_back() 来完成的。(总是搞混)pop():删除 queue 中的第一个元素。size
2020-12-22 10:14:07
326
原创 C++:类的静态成员
一般情况下,类的静态成员在类内声明,类外定义和初始化类内声明时+关键字static类外定义时:对象的数据类型 类名::静态成员名字如果在类内初始化,初值必须是常量表达式类的静态成员不属于类的任何对象,但可以通过类的对象、引用、指针访问该静态成员,也可以通过作用域运算符访问,类成员函数可以直接使用类的静态数据成员。静态成员类似于全局变量,保存在静态存储区,一旦被定义就一直存在于程序运行的整个生命周期...
2020-10-08 21:55:45
2303
原创 C++笔记:关于string的日常积累
这篇文章需要随时更新,方便自己可以知道一些常识(真是惭愧,有的时候总是会因为这种没有掌握牢靠的小细节半个跟头,总是百度也不好,基本的得记下来)1.关于字符串的加法(很可笑,我竟然不知道字符串可以和单个字符直接相加)(官网的一个例子,多去官网看看)#include<iostream>#include<string>using namespace std;int main(){ string name("John"); string family("Smith");
2020-06-21 08:59:48
216
原创 C++笔记:箭头和点的区别
->和.的区别 -> : 指针 访问类成员 . : 对象 访问类成员举个小例子,以便我理解:class student{ public: int name; char sex;}student *st1;//指针student st2;//对象cout<<st1->name<<endl;cout<<st2.name<<endl;...
2020-06-20 16:32:48
242
1
原创 C++:unordered_map、unordered_set、map、set
好怕自己又搞混,还忘记,写下来吧,忘记了,还能来看看unorder_maptemplate < class Key, // unordered_map::key_type class T, // unordered_map::mapped_type class Hash = hash<Key>, // unordered_map::hasher class Pred = e
2020-06-19 21:40:46
163
原创 C++:sort排序的使用
sort的两种函数形式void sort (RandomAccessIterator first, RandomAccessIterator last);void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);第一种:默认升序排列void sort (RandomAccessIterator first, RandomAccessIterator last);第二种:自定义排序,第三个参数即
2020-06-18 20:52:43
240
原创 LeetCode:请实现支持.和*的通配符模式匹配
题目:请实现支持’.‘and’’.的通配符模式匹配‘.’ 可以匹配任何单个字符。’’ 可以匹配任何字符序列(包括空序列)。匹配应该覆盖整个输入字符串(而不是部分)。函数声明为:↵bool isMatch(const char *s, const char p)整体思路:如果下一个字符为 * ( 前面的字符可以出现0次,1次,无数次):1.当 * 前面的字符 匹配了0个字符时,s不变,p向后移动两位isMatch(s,p+2)2.当 * 前面的字符匹配了1个或一串相同字符时,s向后移动一位,p
2020-06-18 16:40:36
745
原创 C++:LeetCode 在不使用额外的内存空间的条件下判断一个整数是否是回文。
题目:在不使用额外的内存空间的条件下判断一个整数是否是回文。提示:负整数可以是回文吗?(比如-1)如果你在考虑将数字转化为字符串的话,请注意一下不能使用额外空间的限制你可以将整数翻转。但是,如果你做过题目“Reverse Integer”,你会知道将整数翻转可能会出现溢出的情况,你怎么处理这个问题?这道题有更具普遍性的解法。什么是回文?例如:1221、12321等。负数不是回文,能被10整除的肯定也不是回文(除0以外)。什么是不使用额外空间?在网上查了一些资料:一般都是指空间复杂度为O(1)
2020-05-27 17:19:22
347
原创 C++:二叉树的前中后序遍历(递归与非递归)以及非递归的层序遍历
递归的形式如果是想在牛客网里编译可能得把这个递归过程作为中间过程,要不然容易报错:递归太多之类的。递归形式:前序遍历: void preorderTraversal(TreeNode* root) { if (root == NULL) return ; res.push_back(root->val); preorderTraversal(root->left); preorderTraversal(root->ri
2020-05-26 17:27:41
320
原创 牛客网 段错误
刷牛客网题目,遇到如下问题:段错误:您的程序发生段错误,可能是数组越界,堆栈溢出(比如,递归调用层数太多)等情况。我研究了一个多小时,各种尝试之后才发现,我没有判断指针为空的情况,大半夜的,我这个心情,心酸中带着无奈啊。...
2020-03-16 00:02:54
1752
2
原创 C++:Run-Time Check Failure#2-Stack around the variable 'str' was corrupted
出现这个情况说的时候,百度了很多原因,说数组越界,让我屏蔽掉数组,但那个数组我必须使用,不能屏蔽,然后我就翻到说可以设置一下全局变量,我就抱着试一试的想法,反正又不贵,还没有副作用,我把我用的数组设置成全局变量,很神奇见效了,具体怎么治疗的我就不清楚了。...
2020-03-10 14:02:13
1888
1
原创 QT学习笔记:QtChart(一)
第一步:在.pro文件中添加: QT +=charts第二步:添加头文件:#include <QtCharts>第三步:绘制静态的折线图这段代码很详细,常用的绘图函数差不多都有,在看到这个之前,我查过很多QChart的使用方法,譬如有一个需要添加命名空间的,还有提升部件的,我也都运行过了,是可以实现的,但相比这种方式还是麻烦。最后,QChart真的比TChart好用...
2020-03-09 13:19:56
1520
原创 输入ipconfig,提示不是内部命令
命令行输入ipconfig,提示不是内部命令,原因是因为你之前设置环境变量的系统变量时,你直接新建Path变量,而不是添加,这就会覆盖之前的变量,就会提示这个错误(而我就是这个傻子,当时帽子浑浑噩噩,因为休息不太好,就直接点了新建,现在想想当事人十分后悔,这告诉我以后一定要好好休息,哈哈哈哈哈哈哈)解决办法:右击我的电脑,点属性,选择高级系统设置,环境变量,切记切记点击编辑Path变量,就会弹出...
2019-11-23 10:53:45
780
原创 C++:关于OpenCV
这个好像每次都需要重新配置一遍,我把配置的步骤写下来,以防自己忘记1.新建工程,右击—属性2.配置属性----VC++目录-----包含目录,添加路径(我的):F:\opencv2.4.10\OpenCV\opencv\build\includeF:\opencv2.4.10\OpenCV\opencv\build\include\opencvF:\opencv2.4.10\OpenCV...
2019-11-21 09:54:21
143
原创 C++:R6010 -abort() has been called
用VS2010测试OpenCV时会遇到这个问题(可能,也不仅限于VS2010,因为我看到了一些不是VS2010的也遇到了,网上说了很多解决方案,什么线程啊指针啊,我遇到的时候我看不懂有些慌,但直觉告诉我应该不是很难,应该是图片路径的问题,我就试着改了一下,然后好使了,如果你遇到了,可以先试试这个,不行在按照大佬的方法来。#include<iostream>#include<o...
2019-11-21 09:26:22
547
原创 MFC换肤和可能遇到问题
今天来记录一下我拖了很久的MFC换肤第一步:添加文件将这四个文件复制到你的项目工程目录下(SkinMagic在网上有很多资源的)corona.smf就是更换的皮肤文件第二步:添加头文件1.实现在程序中添加#pragma comment(lib,"SkinMagic.lib")#include "SkinMagicLib.h"这两个.cpp都必须添加2.添加头文件右击“头...
2019-09-29 15:04:57
483
1
原创 MFC:如何设置背景
1.利用位图1)如何载入位图提前准备好.bmp格式的文件,将它放置到工程文件夹同名目录的res目录下(大多数保存的图片都为.jpg格式,只需要另存为.bmp格式就行,也有相应的代码可以修改)在VC界面选择资源视图,下拉工程名,右击.rc文件,选择“添加资源”,在弹出的对话框当中选择Bitmap,然后“导入”事先存好的.bmp文件如何获得位图的ID仙人掌旁边的就是位图的I...
2019-09-24 10:53:14
894
原创 C++题目:3.随机数排序
题目描述:明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。Input Param n 输入随机数的个数inputArray n个随机...
2019-09-19 21:53:22
1074
原创 C++题目:2.计算字符个数
题目描述:写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。输入描述:输入一个有字母和数字以及空格组成的字符串,和一个字符。输出描述:输出输入字符串中含有该字符的个数。个人对题目的理解:就是在输入的字符串中查找和你输入的字符相同的字符的个数#include<iostream>#include<stri...
2019-09-19 19:04:11
277
原创 C++题目:1.字符串最后一个单词的长度
题目描述:计算字符串最后一个单词的个数,单词之间以空格隔开。输入描述:一行字符串,非空,长度小于5000。输出描述:整数 N,最后一个单词的长度。第一种方法:#include<iostream>#include<string>#include<vector>using namespace std;int main(){ string word...
2019-09-19 08:47:16
220
原创 剑指offer题目:数组中重复的数1
题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。第一种思路:简单的遍历,然后重复的数字累加;个人观点:可能这个复杂度比较高,虽然我不会算,这是我看到这个题目首先就想到的,...
2019-09-03 21:16:26
119
原创 C++笔记:关于friend(友元)
我发现啊,在看过书之后,再看看相关视频,会有助于理解//友元允许其它类或非成员函数访问类的私有成员//友元的作用提高了程序的运行效率,但同时它也破坏了类的封装性//不熟练friend的使用方法,尽量不要使用#include<iostream>using namespace std;class Point{ friend double PointDistance(Poin...
2019-08-28 16:18:11
129
原创 C++笔记:关于static
//static变量实现同类对象的共享,它不属于任何一个具体对象(每个对象都可以使用它)//static变量的空间并不是在对象所在的空间,而是单独开辟的空间,所以每个对象才可以调用它//static变量属于全局变量//static变量,要在类外进行初始化#include<iostream>using namespace std;class Box{public: Box...
2019-08-28 16:15:59
123
1
原创 C++笔记:malloc/free和new/delete 的区别
他们的使用形式可以参考该程序中的格式即可#include<iostream>using namespace std;//malloc和 free 是函数,属于标准库里的,所在头文件为stdlib.h//new和delete是操作符,处理方式应该与malloc和free是差不多的//new会在堆上初始化对象时调用构造函数,而malloc不会//调用delete可以触发析构函数...
2019-08-27 21:05:54
209
原创 C++笔记:关于this指针
之前学习this指针的时候,其实是模糊的,然后今天看到了一个视频,关于this的,我就看了一下,简单地总结了一下,详细见程序#include<iostream>using namespace std;class A{public: A(int a)//A_Init(A*this,int a) { cout << "A()..." << endl;...
2019-08-27 19:13:58
167
原创 C++笔记:关于类3
构造函数,析构函数,拷贝构造函数可以设断点,然后一步一步看,这样比较容易懂慢慢来,会好的#include<iostream>using namespace std;class MyDate{public://如果不写public就会默认为private MyDate()//显示默认构造函数 { } MyDate(int x,int y,int z)//构造函数,显...
2019-08-23 21:10:12
82
原创 C++笔记:关于类2
class和struct的区别在C++中二者的区别只是默认访问权限不同:class成员的默认访问权限是private,而struct是public;在C中,除上述区别外,struct内没有成员函数(成员方法)慢慢来,会好的#include<iostream>using namespace std;class MyDate{public://如果不写public就会默认为pr...
2019-08-23 16:53:40
52
原创 C++笔记:关于类1
关于表达式必须是可修改的左值的介绍,详见程序慢慢来,会好的#include<iostream>//#include<string>using namespace std;class Animal{public: char kind[64]; char color[64]; //string kind; void PrintAnimal() { c...
2019-08-23 15:47:10
275
原创 C++第七章课后题7.13
唯愿你,所得皆所望,所失皆无碍慢慢来,会好的#include<iostream>#include<string>using namespace std;struct Sales_data{ Sales_data()=default;//默认构造函数 Sales_data(const string &s) :bookNo(s) {}; Sales_d...
2019-08-22 20:41:03
408
原创 C++第七章课后题7.11和7.12
只是在前边程序的基础上简单的进行了改动,值得注意的是要在类内声明read函数,要不然会报错慢慢来,会好的#include<iostream>#include<string>using namespace std;struct Sales_data{ //新增构造函数 Sales_data()=default;//默认构造函数 Sales_data(cons...
2019-08-22 19:53:29
354
原创 C++笔记:关于构造函数
一、构造函数构造函数的名字和类相同构造函数没有返回类型构造函数和普通函数一样有一个参数列表(可以为空)和一个函数体(可以为空)类可以包含多个构造函数,但构造函数之间必须保证参数数量或者参数类型不同(这 一点和重载函数有点像)构造函数不可以声明成const的二、默认构造函数如果类内存在初始值,就用它初始化成员;如果不存在类内初始值,则默认初始化...
2019-08-22 19:49:57
127
原创 C++ primer第七章课后题 7.9和7.10
今天晚上是不是又自在了呢,嘿嘿嘿嘿,顺便把7.10 也写了吧慢慢来,会好的7.9#include<iostream>#include<string>using namespace std;struct Person { string m_name; string m_address; int m_telenum;};istream &rea...
2019-08-09 16:29:50
192
原创 C++primer第七章课后题7.6、7.7、7.8
内心要足够强大,才能跟乐观,乐观了,自然好运就来了;题目简单也不要放过,因为你想象的和现实不一定一样,可能会出现一点小插曲慢慢来,会好的#include<iostream>#include<string>using namespace std;struct Sales_data{ string isbn() const { return bookNo;...
2019-08-09 15:55:23
232
2
原创 C++笔记:关于常量指针,指向常量的指针,指针函数,函数指针
1.常量指针1)本质是指针,只不过指针本身的值是个常量2)注意:常量指针必须初始化,一旦初始化其值就不会再改变。3)按照从右往左的顺序读,就是 先 * 后const,e.g:int *const p;4)常量指针可以指向常量对象,也可以指向非常量对象2.指向常量的指针1)本质是指针,只不过指向的对象是个常量2)普通的指针不可以指向常量对象3)其实指向常量的指针也是可以指向非常量对象...
2019-08-09 13:56:34
257
原创 C++primer第七章课后题7.4和7.5
写完这两道题,我得做个小笔记了,关于常量指针,指向常量的指针,函数指针,指针函数的区别,理理思路慢慢来,会好的struct Person{ string name; string address;};struct Person{ string Name()const { return name; } //this是一个常量指针,在函数体内部this所指的对象不会发生改变 ...
2019-08-09 10:54:56
141
原创 C++ primer第七章课后题7.2和7.3
一开始寻思不写这道题了,感觉挺简单的,但是想想自己又不是什么大神,还是练练吧,果然练得过程中发现很多细节问题,都是因为不好好看书心情不大好,跟了自己快两年的耳机被我弄丢了,这种感觉特别悲伤,感觉自己对不起他。慢慢来,会好的#include<iostream>#include<string>using namespace std;struct Sales_data...
2019-08-09 10:02:22
182
原创 C++primer第七章课后题7.1
类在C++中是非常重要的,少年要认真学,我简单的查了一下struct和class的区别1)C++ 中保留了C语言的 struct 关键字,并且加以扩充。在C语言中,struct 只能包含成员变量,不能包含成员函数。而在C++中,struct 类似于 class,既可以包含成员变量,又可以包含成员函数。2) class类中的成员默认都是 private, struct 结构体中的成员默认都是 p...
2019-08-08 20:27:14
183
原创 C++ primer第六章课后题6.54、6.55、6.56
其实我也不太知道这个函数指针,未来会不会常用,反正先了解一下吧,等以后看到至少不会陌生慢慢来,会好的#include<iostream>#include<vector>using namespace std;int Add(int a, int b);int Subtract(int a, int b);int Multiply(int a, int b);...
2019-08-08 16:04:36
221
原创 C++ primer 第六章课后题6.42
默认实参需要注意的几点:1)某个形参被赋予默认值后,它后面的所有形参都必须要赋默认值2)对带有默认实参的函数声明之后,在定义的时候默认形参就不要写了,要不然编译或会报错:重定义默认参数(我因为是复制过去的,就忽略了这个问题)慢慢来,会好的#include<iostream>#include<string>using namespace std;string m...
2019-08-08 14:25:28
107
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人