自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 qt.qpa.screen: QXcbConnection: Could not connect to display localhost:14.0 Could not connect to any

Xshell中出现的问题弹窗提示问题点问题出现在Linux下调用了plt.savefig()函数,出现了display错误。解决方法在调用函数的文件下添加两行代码。import matplotlibmatplotlib.use('Agg')

2021-01-08 13:49:20 1566

原创 C++ 模板知识点

模板引入泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。我们知道在C++中可以通过重载实现相同函数名,形参类型不同来完成泛型编程。但是存在代码复用率较低,可维护性较差问题,编写了大量重复代码。因此C++中通过引入模板来实现泛型编程。也就是说告诉编译器一个模子,让编译器根据传入实参的类型来生成相应的代码。优点:1 模板复用了代码,节省资源,更快的迭代开发,STL因此而生。2.增强了代码的灵活性,无过多重复代码缺点:1.代码编译时间变长。2. 出现错误不容定位。模板分类模

2020-08-29 12:00:45 353

原创 C++String(模拟实现,相关函数,深拷贝,浅拷贝,写时拷贝(引用计数) )

stringstring类对象的常见构造void Teststring(){ string s1; // 构造空的string类对象s1 string s2("hello bit"); // 用C格式字符串构造string类对象s2 string s3(s2); // 拷贝构造s3}容量操作size 返回字符串有效字符长度length 返回字符串有效字符长度capacity 返回空间总大小empty 检测字符串释放为空串,是返回true,否则返回falseclear 清空有

2020-08-07 16:41:33 164

原创 C++内存管理(new,delete,malloc,free)

C++内存管理方式C语言内存管理方式在C++中可以继续使用。C++又提出了自己的内存管理方式:通过new和delete操作符进行动态内存管理。申请和释放单个元素的空间,使用new和delete操作符,申请和释放连续的空间,使用new[]和delete[]在申请自定义类型的空间时,new会调用构造函数,delete会调用析构函数new和delete是用户进行动态内存申请和释放的操作符,operator new 和operator delete是系统提供的全局函数,new在底层调用operator

2020-08-07 14:07:45 146

原创 C++ 类(static, const,内联函数等)

thisC++编译器给每个“非静态的成员函数“增加了一个隐藏的指针参数,让该指针指向当前对象(函数运行时调用该函数的对象),在函数体中所有成员变量的操作,都是通过该指针去访问。this指针的类型:类型 *const只能在类的“成员函数”的内部使用this指针本质上其实是一个成员函数的形参,是对象调用成员函数时,将对象地址作为实参传递给this形参。所以对象中不存储this指针。类的6个默认成员函数任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数。构造函数主要完成类的初始化

2020-08-07 11:38:00 200

原创 Linux常用命令

文件目录操作ls查看目录下的内容,默认是当前目录选项:-l 显示详细信息-a 所有的信息都显示出来,包括隐藏目录-i 显示文件的i节点信息pwd查看当前在哪个目录下makedir :创建目录选项-p 如果父目录不存在,就创建rmdir :只能删除空目录rm :删除目录或文件选项-r 递归进入目录中删除,并提示信息-p 不提示信息,直接全部删除touch :如果文件不存在就创建文件,如果文件存在就更新时间vim查看时间命令data + %Y %m

2020-07-25 22:32:03 98

原创 数据存储

数据存储寄存器存储要求数据以补码形式存储。正数 原码 = 补码 = 反码负数 原码 除符号位 取反 = 反码 ,反码+1 = 补码各类型数据可表示范围char ch1; //-128 ~ 127 1字节unsigned char ch2; // 0 ~2 ^ 8 - 1(255) (256会重新循环至0)short a1; // -32768 ~32767 2字节unsigned short a2; // 0~2^16 - 1(32767)in

2020-07-17 23:35:48 307

原创 VS调参

1.F5是开始调试,在遇到断点的位置可以停下来。2. Ctrl+F5是开始执行,不调试。3. F10-是逐过程调试,遇到函数不进入函数。4. F11-是逐语句调试,可以观察调试的每个细节,遇到函数会进入到函数内部。5. F9是设置断点和取消断点...

2020-07-17 16:36:28 87

原创 野指针

野指针野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)野指针成因指针未初始化int main(){int *p;//局部变量指针未初始化,默认为随机值 *p = 20;return 0;}指针越界访问int main(){ int arr[10] = {0}; int *p = arr; int i = 0; for(i=0; i<=11; i++) { //当指针指向的范围超出数组arr的范围时,p就是野

2020-07-17 16:13:32 217

原创 C语言-函数

函数调用方式传值调用, 传值调用的时候形参是实参的一份临时拷贝,改变形参并不改变实参的值。函数可以传址调用,形参也是实参的一份临时拷贝,传址调用的时候,可以通过形参操作实参。函数可以嵌套调用,但是不能嵌套定义。函数必须先声明后使用。函数设计应该追求高内聚低耦合,即函数体内部实现修改了,尽量不要对外部产生影响。函数尽可能少的使用全局变量,且函数参数不宜设置过多,并且尽量做到资源谁申请谁释放。函数递归递归的两个条件:将问题转化为其子问题,子问题要与原问题具有相同的解法。递归的出口(也

2020-07-17 10:50:10 480

原创 c - %.1f

int main(){ int n = 10; printf("%10d\n", n); //输出10位,不够的用空格补}int main(){ float n = 10.0; printf("%.10f\n", n); //输出小数点后10位}

2020-07-16 21:02:37 398

原创 C语言-数据类型 关键字

字符串结束标志 ---- > '\0’strlen()函数用于获取字符串的有效长度,直到遇到’\0’停止。int main(){ char arr[] = {'b', 'i', 't'}; printf("%d\n", strlen(arr)); //结果应是返回值,因为没有'\0' printf("%d\n",sizeof(arr)); //结果为3, 3*1 return 0;}文本文件末尾 ----&

2020-07-16 19:48:45 621

原创 C语言- 变量的访问规则

1. 不允许在同一个作用域中定义多个相同名称的变量2. 允许在不同的作用域中定义多个不同名称的变量3. 同作用域中定义的变量,在访问时采用就近原则。#include <stdio.h>int num = 10;int main(){ int num = 1; printf("num = %d\n", num);//根据就近原则,num打印结果为1. return 0; }...

2020-07-16 19:10:53 357

原创 C++ 重载、覆盖、隐藏的区别

Overload(重载)在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数列表(包括类型、顺序不同),即函数重载。因此满足函数重载有以下几个条件:1. 范围相同(同一个类中)。2. 函数名相同。3. 参数列表,函数形参不同。4. virtual 关键字可有可无。class Base{public: void fun(){} void fun(int, int){}}; Override(覆盖):是指派生类函数覆盖基类函数,是虚表的覆盖 也就是多态。

2020-07-09 12:23:44 171

原创 C++ c_str()函数

C_str函数原型 const E * c_str() const该函数返回 const char* 指针可以将一个string类型的字符串转换成为常规c语言中的字符串 eg: string s = "hello world"; char* str = s.c_str(); cout<< str <<endl; char *s1 = "hello world"; cout << s1 << endl;一

2020-06-22 19:09:12 430

原创 C++ 继承

继承1. 概念:继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。2. 继承格式class Person{ public: void Print() { cout << "name:" << _name << e

2020-06-22 12:19:09 102

原创 C++ 模式实现vector

vector模拟实现#include<vector>#include<iostream>#include<array>using namespace std;namespace my_vector{ template<class T> class vector { public: typedef T* iterator; typedef const T* const_iterator; public: //1. 空构造

2020-06-22 10:48:55 103

原创 C++ 队列模拟实现

namespace my_queue{ template<class T, class Cont = list<T>> class queue { public: queue(){} public: void push(const T &x) { c.push_back(x); } T& front() { return c.front(); } void pop() { c.pop_front();

2020-06-20 22:00:08 249

原创 C++ 栈的两种实现

<方法1>namespace my_stack{ template<class T, class Cont> class stack { public: stack(){} ~stack(){} public: void push(const T &x) { v.push_back(x); } void pop() { v.pop_back(); } T& top() { return v.ba

2020-06-20 21:56:14 107

原创 C++ 优先级队列实现

<优先级队列实现>堆heap 与 vectornamespace my_pqueue{ template<class T, class Cont = vector<T>, class Compare = less<T>> class priority_queue { public: priority_queue() :c(){} template<class InputIterator> priority_queu

2020-06-20 19:54:09 244

原创 C++ IO流部分知识

<正确>1. 输入输出缓冲区可以屏蔽掉低级IO的实现。2. cout是标准输出流对象,应对屏幕,cin是标准输入流对象,应对键盘。3. 输入输出缓冲区可以实现内容的“行”读取。4. cin如果要提取具有空格的整体字符串,需使用getline()方法。5. 文件操作分为文本文件和二进制文件。6. 文件的读写有顺序读写也有随机读写。7. 文件操作一般需要经过 1.定义文件流2.打开文件3.对文件读写操作4.关闭文件。<错误>1. IO中cerr是错误输出流对象,具有缓冲

2020-06-20 12:07:32 149

原创 C++ 实现二叉树的层次遍历

<题目>给定一棵二叉树,实现其层次遍历。方法:利用队列#include<iostream>#include<queue>using namespace std;typedef struct BinTreeNode{ int data; struct BinTreeNode* leftchild; struct BinTreeNode* rightchild;}BinTreeNode;void LevelOrder(BinTreeNode* t)

2020-06-11 19:30:07 575

原创 对称二叉树(C++实现)

给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \ 3 4 4 3但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2 \ \ 3 3<方法1>递归方法#include<iostream>#include<queue>usi

2020-06-11 19:24:24 675

原创 TensorFlow 出现错误 TypeError: Failed to convert object of type class 'list' to Tensor.

错误TypeError: Failed to convert object of type class ‘list’ to Tensor. Contents: [Dimension(None), -1建立placeholder 建议尽量在维度上不要使用未知量(None),避免带来不必要麻烦,建议如下建立img = tf.placeholder(tf.float32, [BATCH_SIZE...

2019-11-13 18:04:20 4094

空空如也

空空如也

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

TA关注的人

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