自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (1)
  • 收藏
  • 关注

原创 二叉树的遍历

//二叉树前序遍历(递归版)template <typename T, typename VST>//模板void travPre_R(BinNodePosi(T) x, VST & visit)//适用函数对象{ if (x == nullptr) return; visit(x->data); travPre_R(x->lc, visit); travPre_R(x->rc, visit);}//二叉树中序遍历(递归版)template &lt

2021-06-13 19:54:41 126

原创 求斐波那契数列

求斐波那契数列第n项/*斐波那契数列的求解*///递归,时间复杂度O(2^n)int fib1(int n) { if (n < 3) return 1; return fib1(n - 1) + fib1(n - 2);}//迭代,动态规划,时间复杂度O(n)int fib2(int n) { if (n < 3) return 1; int dp1 = 1; int dp2 = 1; int dp3; for (int i = 2; i < n; i++) {

2021-05-15 12:37:40 140

原创 C++阅读

宏#pragma once的用法及其与#ifndef的区别https://www.cnblogs.com/qiang-upc/p/11407364.html

2021-04-25 21:12:48 91

原创 计算机网络(1-1)

接上篇:所以,浏览器在查询目标地址的IP地址时,只需要调用Socket库中的gethostbyname程序即可,如下图所示:调用解析器后,解析器会向DNS服务器发送查询消息,然后DNS服务器会返回响应消息。响应消息中包含查询到的IP地址,解析器会取出IP地址,并将其写入浏览器指定的内存地址中。只要运行图1.11中的这一行程序,就可以完成前面所有这些工作,我们也就完成了IP地址的查询。接下来,浏览器在向Web服务器发送消息时,只要从该内存地址取出IP地址,并将它与HTTP请求消息一起交给操作系统就可以

2021-03-16 20:08:42 101

原创 计算机网络(1)

计算机网络(1)《网络是怎样连接的》笔记和总结第1章 浏览器生成消息这一章主要包括四个部分:一是生成HTTP消息;二是调用DNS解析器向DNS服务器根据域名查询目标服务器的IP地址;三是介绍DNS服务器查询IP的基本过程;四是浏览器通过调用Socket库委托操作系统协议栈发送消息。一、生成HTTP消息URL:统一资源定位器网址,即URL,包括以http:、ftp:、file:等开头,相应的浏览器可以用来访问web服务器、下载文件等。http是浏览器访问web服务器所使用的协议。...

2021-03-16 18:58:57 63

原创 计算机网络(0)

计算机网络(0)该系列文章为阅读《网络是怎样链接的》的笔记和总结,图片来源《网络是怎样链接的》。主要内容包括第1章 web浏览器我们将首先探索浏览器的工作方式。大家可以认为我们的探索之旅是从在浏览器中输入网址(URL)开始的。例如,当我们输入下面这样的网址时,浏览器就会按照一定的规则去分析这个网址的含义,然后根据其含义生成请求消息。http://www.lab.glasscom.com/sample1.html在上面这个例子中,浏览器生成的请求消息表示“请给我sample1. html这一文件中储存

2021-03-13 22:27:47 62

原创 Leetcode或VS代码报错

Leetcode代码报错C++错误一报错Line 1033: char 9: reference binding to null pointer of type ‘int’ (stl_vector.h)错误原因:定义vector customers;没有定义向量长度;更正:vector customers(n);

2021-02-24 11:36:46 79

原创 latex

使用latex的错误记录这个系列的博客对入门这来说写的不错:(https://www.jianshu.com/p/1d99b3c883a6)。在使用texstudio是时遇见的错误在config->genneral->language里选择zh_CN可以将其语言改为中文,在设置->编译器->默认字体编码改为UTF-8。IEEE的论文一般使用xelatex编译器,而Science China使用latex或者pdflatex编译器,我使用的是pdflatex。1、参考文献报错

2020-12-09 16:05:19 136

原创 C++笔记(22)——this指针、对象数组、类作用域

1、this指针类的每一个成员函数都有一个this指针,该指针指向调用成员函数的对象,被作为隐藏参数传递给成员函数。在成员函数的括号后面加const限定符时,无法通过this指针修改对象的值。使用示例:比较两个对象数据成员的大小时,程序无法直接访问对象数据,可以通过成员函数,成员函数返回值到程序中再比较。也可以设计一个成员函数,可以访问两个对象的数据,但需要第二个对象作为参数(即成员函数的参数为该类的一个对象),如下图:2、对象数组声明像普通数组一样,形式如下:Stock mystu

2020-07-19 15:34:26 176

原创 C++笔记(21)——类的构造函数和析构函数

1、构造函数Stock();Stock(...,...,...)构造函数名称和类名相同原型和函数头没有声明类型,没有返回值,用来创建对象(声明对象时自动调用构造函数然后分配存储空间)和初始化对象。上节中的图中代码示例如法对数据成员初始化,私有部分无法访问,只能通过构造函数初始化。如果不声明构造函数,那么编译器会自动调用一个默认构造函数,该默认构造函数不做任何工作。如果在定义了构造函数,则必须再提供一个默认函数,提供的默认函数包括两种形式:(1)没有参数,但可以在后续定义该默认构造函数时对对象

2020-07-18 20:10:51 132

原创 C++笔记(20)——类和对象入门

类将数据表示和操纵数据的方法组合成一个整洁的包,这是类最吸引人的地方,包括类成员(包括数据成员和成员函数)声明和类方法定义两部分。一般将数据成员设为私有,将成员函数设为共有作为接口,程序员通过使用类方法作为接口去操作数据成员。数据成员也可以设为共有,但一般不这样做,因为数据隐藏本身就是类和对象思想的一个重要体现,类似于服务器和客户端,服务器是类声明,客户是使用类的程序,程序员只需要通过类方法去利用数据成员,知道输入什么参数放回什么结果,不需要了解数据如何表示,也不需要了解如何实现,后续如需修...

2020-07-18 19:55:10 107

原创 C++笔记(19)——存储的持续性、作用域和链接性

1、定义作用域(scope): 描述了名称在文件的多大范围内可见。如:函数中定义的变量只在该函数中使用;文件中函数之前定义的变量可以在所有的函数中使用。函数原型作用域中使用的名称只能在包含参数列表的括号内使用。链接性(linkage):描述了名称如何在不同单元之间共享。链接性为外部链接的可以在文件间共享;为内部链接的可以在文件内的函数共享;没有链接性的不能共享。2、自动存储变量在函数中声明的函数参数和变量的存储持续性为自动,作用域为局部,没有链接性。在代码块(花括号括起来的)定义的变量作用域

2020-07-16 17:31:15 150

原创 C++笔记(18)——单独编译

将组件函数放在独立的文件中,可以单独编译这些文件,每次修改后可以只重新编译修改的文件即可,然后将其余其他文件的编译版本连接。当不同的函数都是用同一个结构时,两个文件都应该包含结构的声明。所以,可以通过将结构放在头文件中,其他文件包含该头文件即可。头文件一般包括:(1)函数原型(不要放函数定义);(2)使用#define或const定义的符号常量;(3)结构声明;(4)类声明;(5)模板声明;(6)内联函数。注意:不要将函数定义和变量声明放在头文件中。对头文件“coordin.h”和<c

2020-07-16 16:37:32 492

原创 C++笔记(17)——函数模板、关键字decltype和后置返回类型

需要对不同类型使用同一算法时,可以选择使用函数模板。模板不能压缩可执行程序,编译后的代码不包含模板,只包含实例函数。常规模板:一般使用的模板,其中class也可以用typename;但有时候常规模板不能满足,如交换两个变量值时,数组不能从一个变量赋值给另一个变量(结构可以),当要交换结构中部分变量的值时,这是可以使用具体化模板。优先级顺序:非模板函数>显示具体化模板>常规模板。隐式实例化即将常规模板实例化,显示实例化如上图所示形式(比具体化模板少了<>),显示实例化可

2020-07-15 23:35:22 381

原创 C++笔记(16)函数默认参数和函数重载

1、默认参数默认参数指的是函数调用时省略了一个实参时,自动使用默认值。函数默认值的设置,必须通过函数原型,方法是将默认值赋给原型中的参数。注意,对含有多个参数的函数,默认值必须放在右边,即如果某一位提供了默认值,其后面所有参数都得有默认值。这样,实参数少于型参数时,将从左到右的顺序分配给形参。2、函数重载函数重名,但参数列表不同,参数列表即函数特征标。C++函数名可以相同,但参数不可相同。编译器在检查特征标时,将类型引用和类型本身视为同一特征标。当没有函数重载时,若实参与形参不匹配,C++尝试使

2020-07-15 12:58:41 295

原创 C++笔记(15)——内联函数、引用变量

1、内联函数在声明或定义前加inline关键字,编译器在编译时直接用相应的函数内容代替函数调用,执行时遇到函数调用无需来回跳。内联函数执行速度比常规函数快,但要占用较多内存。一般使用于函数短小而又多次被调用的情况。如:inline double square(double x) {return x*x;};在C语言中,预处理器使用语句#define来提供宏,例如:#define SQU...

2020-07-15 01:13:50 340

原创 C++笔记(14)——函数与结构、string对象和array对象

就像前面可以将一个结构赋值给另一个结构一样,结构也可以作为参数直接传递,且函数使用结构的副本。当然,函数也可以返回结构。与数组名表示第一个元素的地址不同,结构名只是名称,要获得结构的地址,必须使用地址运算符&。因为使用的式结构的副本,所以在函数处理结构时,需要复制结构,因此需要增加内存,所以有些程序员倾向于传递结构的地址,然后使用指针来访问结构的内容。C++中第三种方式是使用引用传...

2020-01-13 01:10:50 256

原创 C++笔记(13)——函数与数组和C风格字符串

1、将数组作为参数传给数组,需要传递数组的类型、地址和元素数。对一维数组,一般形如:int sum_arr( int arr[], int n );//其中,arr为数组名,在函数组做指针处理,n为数组元素数,等同于int sum_arr( int *arr, int n );如果函数只读数组,不能修改,则使用形如:int sum_arr( const int arr[], int n...

2020-01-12 22:33:33 100

原创 C++笔记(12)——简单文件输入/输出

1、写入到文本文件(1)#include <fstream>(2)命名空间std(3)声明ofstream对象,例如:ofstream outFile;(4)将ofstream对象和文件联系起来,常用方法:outFile.open("carry.txt");如果文件carry.txt不存在,默认新建,如果已存在,默认将原有内如丢弃,此处容易发生危险。而且,有可能打开文件...

2019-12-27 14:25:25 317

原创 C++笔记(11)——逻辑运算符、字符函数库cctype、switch语句

1、逻辑运算符:或 ||,与 &&,非 ! (C++中可以使用or,and,not,C语言中则需要使用头文件iso464.h后才能使用)逻辑运算符||和&&优先级比算数运算符和关系运算符低,运算符是一个顺序点,也就是:运算符左边的子表达式先于右边的子表达式,对||左边为true为真时,右边的子表达式不再去判断。对&&左边为false为真时,右边的...

2019-12-27 01:14:45 460

原创 C++笔记(10)——循环和关系表达式

1、C语言中,要求for循环使用三个完整的表达式,如for(i=0;i<5;i++),在C++中,第一个表达式可以使用声明,如for(int i=0;i<5;i++)。for循环的循环体,如果是单个语句,可以不用花括号,若是多个语句,则需要使用复合语句(代码块)。副作用:在计算表达式时对某些东西进行了修改;顺序点:程序执行过程中的一个点,在进行下一步之前,对所有副作用进行评估,...

2019-12-26 22:25:14 143

原创 C++笔记(9)——模板类vector和array

模板类vector和array是数组的替代品。1、模板类vector模板类vector类似于string类,是动态数组,可在运行阶段设置其长度,也可在其末尾附加新数据或在中间插入新数据,本质使用new和delete管理内存因此为自由存储区。需要头文件#include <vector>,命名空间为std,使用using namespace std;或std::vector;使...

2019-12-20 20:52:37 162

原创 C++笔记(8)——自动存储、静态存储和动态存储

1、自动存储自动变量是一个局部变量,作用域为代码块(函数中可包含代码块),作用周期为其所在函数的执行期间,其所在函数执行结束时即消亡。自动变量存储在栈中,后进先出,所以程序执行时,栈的大小不断变化。2、静态存储静态存储时全局变量,作用周期是整个程序执行期间。声明方式,一种是在函数外,一种是只用static关键字。3、动态存储new和delete管理一个内存池即自由存储空间或堆,...

2019-12-20 18:59:59 237

原创 C++笔记(7)——指针

指针是一个变量,其存储的是值的地址而不是值本身即地址是指定量,而值是派生量,求指针ptr处存储的值,用*ptr获得;常规变量,值时指定量,而地址是派生量,常规变量MEM的地址用&MEM求得,一般用十六进制表示。1、指针的声明和初始化指针声明时必须声明指针指向的数据的类型。注意,指针创建之后,计算机为其分配了用来存储地址的内存,但不分配用来存储指针所指向的数据的内存。所以应先初始...

2019-12-20 18:48:12 197

原创 C++笔记(6)——枚举

enum关键字,spectrum称为枚举,band称为枚举变量,花括号中的red、orange等被称为枚举量,其值被称为枚举值。6、可对枚举量进行显式地赋值,例如:enum bits {one=1,two=4,four=16};指定的值必须是整数,也可以只显式地赋值一部分枚举量,则第一个默认为0,被赋值枚举变量后面没有被赋值的枚举变量的值在赋的值基础上顺次加1,赋的值也可以可...

2019-12-19 18:38:16 161

原创 C++笔记(4)——结构

数组中元素的类型必须全部相同,而结构可以存储多种类型的数据。用户自定义结构的类型之后,即可创建相应类型的结构变量(或结构对象)。格式:#include <string>using namespace std;struct people //stuct关键字;people为新类型的名称{ string name; //声明语句...

2019-12-19 17:35:25 58

原创 C++笔记(3)——复合数据类型

1、数组声明形式:typename arrayname[arraysize];初始化形式:typename arrayname[arraysize] = {......};所有元素类型必须相同,大小在声明或初始化时确定,不能使用变量(可以使用new运算符来解决)。sizeof arrayName得到整个数组的字节数;sizeof arrayName[n]得到数组中一个元素的字节数。...

2019-12-19 16:51:18 216

原创 C++笔记(2)——数据类型转换

1、将一种类型的值赋值给另一种类型的变量,则自动转化为接收类型的变量。2、表达式中包含不同类型时,对值进行转换。在计算表达式时,C++将bool、char、unsigned char、signed char和short值转化为int,true转化为1,false转化为0,这些称为整形提升(integral promotion)。不同类型进行算数运算时,(1)如果有一个操作数类型为lon...

2019-12-17 01:13:42 205

原创 C++笔记(1)——第三章 处理数据

1、在C++中,单字符用单引号,如‘M’;字符串用双引号,如“hello”。2、字符类型char实际存储为整型,可对char类型变量进行整数操作;3、cout.put()函数用于显示一个字符;4、转义字符的表示:符号转义序列表示法:例如换行符在代码中直接使用“\n”;数字转义序列表示法:使用‘\’加对应的八进制或十六进制ASCII码,例如换行符:‘\xA’或‘\xa’或‘\...

2019-12-16 22:25:59 93

原创 从Pepper机器人获取图像并显示

# /usr/bin/python2 # -*-coding: utf-8 -*-import numpy as npdef decodeImage(data): if data: imageWidth = data[0] imageHeight = data[1] imageLayers = data...

2019-09-03 19:42:23 1020 3

原创 在Pycharm中使用naoqi库

naoqi库的使用不需要安装,在Pycharm中使用需要配置路径,在开头加入如下语句:import syssys.path.append("/…/pynaoqi-python2.7-2.1.2.17-linux64 “)sys.path.append(”/…/pynaoqi-python2.7-2.1.2.17-linux64")...

2019-09-03 18:46:39 1213

C++笔记指针部分运行源码

文中源码文中源码

2019-12-20

空空如也

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

TA关注的人

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