- 博客(26)
- 问答 (4)
- 收藏
- 关注
原创 将终端、vim中的光标变成竖线
在当前用户的./vimrc文件中添加如下代码。效果是终端中所有的光标都变细,也就是说vim普通模式和插入模式都是细光标 "使得terminal的光标变为细线,而不是默认的粗条。这个在vim的普通模式和插入模式都会生效。 set gcr=n-v-c:ver25-Cursor/lCursor,ve:ver35-Cursor,o:hor50-Cursor,i-ci:ver25-Cursor/lCursor...
2020-06-22 23:53:24
5980
1
原创 线程的入口对象
#include<iostream>#include<thread>using namespace std;class A{ public: A(int _X):x(_X) { cout<<"构造函数"<<endl; } void show() { cout<<"x="<<x<<endl; cout<<"this_thread_id"<<std::th
2020-06-22 22:18:26
202
原创 errno的相关
错误码 / errnoLinux中系统调用的错误都存储于 errno中,errno由操作系统维护,存储就近发生的错误,即下一次的错误码会覆盖掉上一次的错误。PS : 只有当系统调用或者调用lib函数时出错,才会置位errno!查看系统中所有的errno所代表的含义,可以采用如下的代码:/* Function: obtain the errno string* char *strerror(int errno)*/#include <stdio.h>#include &.
2020-06-21 13:48:09
397
原创 程序理解Lambda表达式
#include "pch.h"#include <iostream>using namespace std;int main(){ cout << "——测试——1_定义一个匿名函数,并调用" << endl; [] { cout << "hello,world" << endl; }(); cout <&...
2020-03-27 10:27:07
139
原创 移动拷贝构造函数和移动赋值函数的写法
#include"pch.h"#include<iostream>using namespace std;class A{public: A(int _X, int *_P) :x(_X),p(new int(*_P)) { cout << "构造函数" << endl; }; A(const A &a) { if (this =...
2020-03-26 14:52:17
841
原创 关键字constexpr的理解
#include"pch.h"#include<iostream>using namespace std;constexpr int show(const int x)//在dev C++中,形参不能为int;须为const int;但在VS2017中均可{ //在dev C++中constexpr函数,只能有一个语句,即return+其他; //但是在,vs2017中可以...
2020-03-25 23:41:54
319
原创 二维数组做形参的形式
#include<iostream>using namespace std;void OutPut1(int A[][5])//传递数组,需声明数组第二维的大小{ for (int i = 0; i < 5; i++) { for (int j = 0; j < 5; j++)cout << A[i][j] << " "; cou...
2020-02-25 22:35:34
1153
原创 动态规划求解整数拆分问题
#include<stdio.h>#define MAXN 10//采用动态规划求解整数拆分问题。//设f(n,k)为n的k拆分的拆分方案个数://其中,n表示被划分的数,k表示被划分出来的数中的可能出现的最大值,// f(n,k)的值表示划分的方法个数//(1)当n = 1或者k = 1时,显然f(n,k) = 1。//(2)...
2020-02-17 23:10:18
2227
原创 KMP算法
```c//顺序串基本运算的算法#include <stdio.h>#define MaxSize 100typedef struct{ char data[MaxSize]; //串中字符 int length; //串长} SqString; //声明顺序串类型void StrAssign(SqString &s,char cstr[]...
2019-12-26 01:09:11
110
原创 求最小生成树——普里姆算法
#include <stdio.h>#include <malloc.h>//图的两种存储结构#define INF 32767 //定义∞#define MAXV 100 //最大顶点个数typedef char InfoType;//以下定义邻接矩阵类型typedef struct{ int no; //顶点编号 InfoTy...
2019-12-15 19:59:46
462
原创 通过函数理解——分块查找
索引表中折半查找,块内进行顺序查找#include <stdio.h>#include <malloc.h>#define MAXL 100 //最大长度typedef int KeyType; //定义关键字类型为inttypedef char InfoType;typedef struct{ KeyType key; //关键字项 InfoT...
2019-11-09 23:06:46
287
原创 判断一个数是不是4的幂,时间复杂度O(1)
#include <stdio.h> bool Four(int num) { if (num <= 0)//如果数大于零,返回 return false; if ((num & num - 1) != 0)//如果x为4 的幂,则x必为2 的幂;如果x不为2的幂,则x必然不为4 的幂 //先判断是否是 ...
2019-11-09 12:00:42
150
原创 二叉树(链式存储)基本算法
//二叉树的基本运算算法#include <stdio.h>#include <malloc.h>#define MaxSize 100typedef char ElemType;typedef struct node { ElemType data; //数据元素 struct node *lchild; //指向左孩子结点 struct node...
2019-09-19 23:39:18
1195
原创 通过函数理解——全局变量和局部变量
#include<iostream.h> int a=10; //全局变量avoid main() { int a; a=25; //局部变量a if(a==10) { cout<<"此处a为全局变量:"; cout<<a<<endl; } else { cout<<"此处a为局部变量...
2019-09-19 19:46:45
260
原创 通过函数理解——结构体
函数涉及到1、结构体的定义2、结构体的赋初值3、结构体的成员的调用方式4、结构体做功能函数的参数5、结构体做功能函数的类型/*求n个学生中成绩最高的学生的信息并输出。*/#include "stdio.h"struct student //定义一个名student的结构体类型,一般定义在程序开头部分{ int num; ...
2019-09-19 19:04:52
277
原创 指针函数和函数指针
指针函数——返回值是为地址,若要调用该地址的数据,则需要该函数前加‘*’#include <iostream>using namespace std;int *GetNum(int x); //指针函数声明形式void main(void){ int num; cout<<"输入0~6之间的数据: "; cin>>num; cout<...
2019-09-18 23:56:51
90
原创 链栈和顺序栈两种存储结构有什么不同?
1、存储空间分配不同顺序栈——顺序分配(1)在申明顺序栈类型时,就已经确定顺序栈所占空间,此处空间为一块连续的存储单元;(2)而确定空间之后,经过后续不断有元素进栈,栈中的元素位置会发生变化,同时可能出现栈满的情况#define MaxSize 100typedef char ElemType;typedef struct { ElemType data[MaxSize]; i...
2019-09-17 15:35:17
6727
1
原创 前置自增和前置自减——运算符重载
#include<iostream>using namespace std;class Point{public: Point(int vx, int vy); Point & operator++(); //前置自增重载为成员函数 friend Point & operator--(Point &p);//前置自减重载...
2019-06-02 22:20:09
711
原创 通过程序理解虚函数的实现与访问
#include<iostream>using namespace std;class Poin //定义基类{public: Poin(double a = 0, double b = 0) { x = a, y = b; } virtual double area() //必须在基类中必须定义虚函数, //在派生类中重新定...
2019-05-29 00:49:55
144
原创 c++类与类之间的关系
c++类之间的关系及实现一、纵向关系1、继承(Generalization) 也叫泛化关系,对于继承,可以使用"is a"来表示,比如,大学生(类B)"is a"学生(类A),是对学生(类A)的进一步刻画,那么这两个类就是"继承"关系。——通过派生类实现继承class Graduate : public Student{ //子类扩展属性和方法};2、实现(Realiz...
2019-05-28 14:14:45
1328
原创 静态成员函数
静态成员函数(1)用途:不是为了对象之间的沟通,而是为了能处理静态数据成员(如访问)。(2)访问方式:可以用类名和域运算符“::”,也允许用对象名调用静态成员函数。如:Student s1;Student::getcount(); //用类名调用静态成员函数s1.getcount(); //用对象名调用静态成员函数(3)不能默认访问本类中...
2019-05-25 15:23:37
602
原创 通过程序理解this指针
通过VC++6.0实现以下程序#include <iostream>using namespace std; class Myclass{public: int get() const{ return i; } void set(int x) //当通过对象a调用这个函数(必须是非静态成员函数)时,该成员函数所特有的this指针(隐式形参)就会指向对象a(...
2019-05-25 10:15:36
134
转载 VS中实现Localtime_s()
Visual C++ 6.0开发环境中显示当地日期与时间主要通过localtime()函数来实现,该函数的原型在time.h头文件中,其语法格式如下:struct tm *localtime(xonst time_t *timer)该函数的作用是把timer所指的时间(如函数time返回的时间)转换为当地标准时间,并以tm结构形式返回。其中,参数timer为主要获取当前时间的传递参数,格式为...
2019-05-24 11:15:33
2713
原创 构造函数的特点及写法
关于构造函数(1)构造函数的重要性——进行对类中的数据成员进行初始化。如果一个数据成员未被赋初值,则它的值是不可预知的。由于,类的数据成员时不能在声明类时初始化的,因为类是一种抽象的自定义数据类型,不占内存空间,所以不能在类内直接对数据成员进行初始化,因为无空间存储初始化后的数据成员。为了解决这个问题,C++提供了构造函数来处理数据成员的初始化。构造函数是一种特殊的成员函数,它不需要用户来调用...
2019-05-23 17:40:26
3548
转载 本是同根生,相煎何太急——面向对象和基于对象
7、面向对象和基于对象有什么区别(1)面向对象(Object-oriented)只有完全具有封装、继承、多态三大特点(缺一不可)的才能够叫做面向对象,否则即使设计中蕴含了一些对象的概念,也顶多称为基于对象——(2)基于对象(Object-based)通常“基于对象”仅仅是使用对象,但是无法利用现有的对象模板产生新的对象类型,继而产生新的对象,也就是说“基于对象”没有继承的特点——不能继承,...
2019-05-23 13:38:22
255
转载 作用域运算符的用途
(作用域运算符)::——C++里的“作用域运算符”。(1)作为在类外写类的成员函数的函数名的一部分;比如声明了一个类A,类A里声明了一个成员函数void f(),但没有在类的声明里给出f的定义,那么在类外定义f时,就要写成void A::f(),表示这个f()函数是类A的成员函数。(2):: 一般还有一种用法,就是直接用在全局函数前,表示是全局函数。当类的成员函数跟类外的一个全局函数同名时,...
2019-05-20 21:01:39
4669
空空如也
数据库filegrowth的问题
2020-05-25
C++ std::native_handle()函数,有什么用?
2020-04-17
C++ 为什么要把线程装进容器中,装进容器中有什么好处:?
2020-04-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人