自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 STL常用容器-stack栈容器&queue队容器

入栈 --- push出栈 --- pop返回栈顶 --- top判断栈是否为空 --- empty返回栈大小 --- size入队 --- push出队 --- pop返回队头元素 --- front返回队尾元素 --- back判断队是否为空 --- empty返回队列大小 --- size。

2024-07-31 19:46:15 329

原创 STL常用容器-deque容器

双端插入和删除元素的效率比较高;指定位置插入元素的时候会导致数据元素移动,降低效率;可以随机获取容器中的元素,效率比较高;deque容器和vector容器的构造方式几乎一致,灵活使用即可;deque赋值操作也与vector相同。deque没有容量的概念判断是否为空 --- empty返回元素个数 --- size重新指定个数 --- resize插入和删除提供的位置是迭代器!尾插 --- push_back尾删 --- pop_back头插 --- push_front。

2024-07-31 19:06:24 355

原创 STL常用容器-vector容器

判断是否为空 --- empty返回元素个数 --- size返回容器容量 --- capacity重新指定大小 --- resize尾插 --- push_back尾删 --- pop_back插入 --- insert (位置迭代器)删除 --- erase (位置迭代器)清空 --- clear除了用迭代器获取vector容器中元素,[ ]和at也可以front返回容器第一个元素back返回容器最后一个元素swap可以使两个容器互换,可以达到实用的收缩内存效果。

2024-07-30 19:37:56 339

原创 STL常用容器-string容器

/ 从右往左查找str最后一次出现的位置,从pos位置开始查找,pos默认值是npos,npos是string类的静态常量,值是-1,表示字符串结束;// pos是position位置,代表从0开始的下标,从pos位置开始,将s字符串后面的n个字符拼接到当前的字符串后面;//把字符串s的前n个字符赋给当前的字符串;

2024-07-29 18:55:56 805

原创 C++泛型编程

定义的语法:template 或者 template函数模板的使用:自动类型推导;指定类型func();普通函数和函数模板的区别:普通函数可以隐式转换;函数模板也可以隐式转换,前提是必须要执行它的类型;注意模板函数和普通函数的调用规则。类模板语法:类定义上添加template

2024-07-27 14:39:07 233

原创 调试与异常

调试(Debugging/Debug),又称除错,是发现和减少计算机程序或电子仪器设备中程序错误的一个过程。条件断点可以通过右键菜单添加,也可以通过修改普通断点的设置把普通断点变成条件断点。F10,逐过程,通常用来处理一个过程,一个过程可以是一次函数调用或者是一条语句。在多次循环里,我们需要再特定条件下,中断程序执行,这时候可以使用条件断点。try,捕获异常,try后面的代码块包含可能抛出异常的代码。catch,处理异常,处理对应的try捕获到的异常。F9,设置或取消断点。当程序出现问题时,抛出一个异常。

2024-07-25 16:33:32 270

原创 输入输出流与文件读写

用默认构造函数创建对象,然后调用open方法打开文件。使用有参构造函数,定义对象同时打开文件。

2024-07-24 23:26:18 676

原创 静态成员,常对象,this指针

普通对象既可以调用普通函数成员也可以调用常函数成员 ,但会优先调用普通成员函数。在常成员函数中,不能修改对象的属性值,也不能调用该类的非常成员函数。公有静态成员函数可以通过类名直接访问,也可以通过这个类的对象访问。静态成员函数只能访问静态数据成员,只能调用静态成员函数。常成员函数可以调用静态成员函数,也可以访问静态成员变量。对象指针就是用于存放对象地址的变量。公有静态成员可以直接通过类名访问。不能通过this指针访问静态成员。在类的非静态成员函数中返回对象本身。属性值不能修改的对象是常对象。

2024-07-23 20:00:19 138

原创 动态多态,虚构函数,类的高级应用

如果内嵌对象的类有无参构造函数,则在组合类构造函数的初始化表中可以不提供对该内嵌对象的初始化参数;当类中没有定义拷贝构造函数时,系统会提供一个默认的拷贝构造函数,默认拷贝构造函数就是将参数对象值赋给新对象对应的属性。动态分配创建对象时,通过父类指针释放子类对象,如果父类的析构不是虚析构函数,则仅调用父类析构函数。如果基类的析构函数定为虚函数,则派生类的析构函数就会自动称为虚析构函数。简单地将参数的属性赋值给新建对象对应的属性,这种赋值被称为浅拷贝。类的组合就是在一个类中内嵌其他类的对象作为成员。

2024-07-22 23:25:58 246

原创 C++面向对象三大特征

子类中定义和父类方法名完全相同的方法时,子类的函数屏蔽与其同名的父类函数,这叫方法的隐藏。int main()Pet pet("皮卡", 3);Cat cat("叮当", 5);Dog dog("旺财", 8);/*因为Dog 定义了barking(),其父类Pet中的barking()和barking(int n)都被隐藏了,所以Dog的对象不能使用barking(int n)方法。*/return 0;一个派生类可以有多于一个基类,称之为多继承。

2024-07-20 14:33:14 316

原创 C++面向对象程序编程

面向对象OOP(Object Oriented Programming),面向对象编程考虑的核心不是如何将需求分解为若干步骤,而是将整个需求里面涉及的事物找出来,将事物的数据抽象为属性,事物的行为抽象为方法,再将属性和方法封装在一起形成类,由这些类相互协作完成需求。例如,张三丰开宝马车去上班,将张三丰抽象为人类,将宝马车抽象为车类,将人和车的数据抽象为属性,动作抽象为方法。public 修饰的数据成员和成员函数,允许本类和本类的派生类(子类)的成员函数访问,对类的外部可见。例如,某一辆宝马,某一本书。

2024-07-18 19:46:58 746

原创 自定义数据类型与命名空间

结构类型允许嵌套,即结构类型中可以使用其他结构类型变量作为成员。嵌套不允许使用结构类型本身的变量作为成员,但可以使用结构类型本身的指针作为成员。结构变量可以通过 . 点 操作符访问成员变量。结构变量指针可以通过 -> 箭头 操作符直接访问结构成员。结构也称为结构体,结构体的成员可以自定义,用来保存相关的复杂数据。可以使用指定成员初始化或顺序初始化两种方式初始化结构变量。结构体的简洁名称(起别名)

2024-07-17 19:05:11 166

原创 函数的特性

在C++中可以定义多个同名函数,只要它们的形参的个数或类型不完全相同就可以,这些同名函数称为重载函数。函数所占用内存的起始值地址就是函数的地址,用于保存函数地址的指针变量称为函数指针变量。函数直接或间接调用它本身,称为递归调用。程序根据实参与形参的类型及个数自动确定调用哪一个同名函数。函数调用时,如果给出实参则使用实参,否则使用形参的默认值。一般只有简单且频繁调用的函数才能成为内联函数。内联函数在编译时,被嵌入到主调函数中。嵌套调用指被调函数中又调用了其他函数。函数指针变量用于调用函数。

2024-07-16 19:05:12 307

原创 引用类型与函数

引用时已有变量或表达式的一种别名机制,主要用于函数的参数和返回值。引用定义时必须初始化。初始化后不能再指向其他的变量。引用的本质上是在C++内部实现一个指针常量。int a = 10;// 定义引用b并初始化为a;int& b = a;// b是a的别名,通过b可以访问到a的值// a的值发生改变,b的值也会改变;b的值发生改变,a的值也会改变。b++;a++;int c = 20;// 把c的值赋给b。b = c;

2024-07-15 19:33:35 156

原创 动态内存分配

一般有程序员分配释放,若程序员不释放,程序结束时可能会造成内存泄漏。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。new 申请成功时,返回的是对应类型的指针,无需转换;malloc申请成功时,返回void*类型指针,需要强制转换成需要的类型。有编译器自动分配释放,存放为运行函数而分配的局部变量,函数参数,返回数据,返回地址等。C++推荐的分配和释放内存方式。存放全局变量,静态数据,常量。存放函数体的二进制代码,有操作系统管理。

2024-07-13 15:37:30 164

原创 地址与指针

地址编码的最基本单位是字节,每个字节由8位二进制组成,因此最基本内存单元大小就是一字节。每个存储单元都有唯一的地址,在这个存储单元可以存放指定的数据。计算机的内存储器被划分成一个个的存储单元,这些存储单元按一定的规则编号,这个编号就是存储单元的地址,也就是内存地址。关系运算符,指针类型的数据可以进行关系运算,>、>=、==、!用于保存另一个指针变量的地址的指针变量称之为指向指针的指针,即多级指针。系统分配给变量的内存空间的起始单元地址,称为该变量的地址。一个变量的地址就称为变量的指针。

2024-07-13 11:31:21 296

原创 数组与字符串

数组是由相同类型的一组变量组成的一个有序集合。数组中的每个变量称为一个元素,所有元素共用一个变量名,就是数组的名字。数组中每个元素的序号称为下标,下标从0开始。二维数组就是具有两个下标的数组,确定一个元素需要两个下标值,第一个下标称为行下标,第二个下标称为列下标。字符串结束标志:C++规定用ASCII码为0的特殊字符(空字符'\0')作为字符串结束标志。数组类型指的是数组元素的数据类型,可以是任意类型,同一数组的所有元素类型相同。字符数组字符串是有'\0'(字符串结束标志)的字符数组。

2024-07-11 22:43:19 233

原创 基本语法结构

表示式2,通常为循环结束条件,当表达式2的结果为true是,执行循环语句,否则结束循环。while语句和do while语句比较适合循环次数不固定,而循环结束条件比较明确的场景。cout << "结果1" << endl;cout << "输出语句1" << endl;cout << "输出语句2" << endl;cout << "结果2"<<endl;cout << "结果3"<<endl;cout << "输出语句" << endl;break,结束整个循环,转向循环语句后面的语句执行。

2024-07-10 22:40:11 317

原创 运算符与表达式

逗号运算符从左到右计算各个表达式的值,取最右边表达式的值作为整个表达式的结果。表达式2:表达式3);如果表达式1的结果为true,返回表达式2的值,否则返回表达式3的值。++在后,变量当前的值先作为参数传递,再增加1。--在后,变量当前的值先作为参数传递,再减少1。关系运算符:>大于,>=大于等于,==等于,!逻辑与,在左侧表达式结果为false时,不计算右侧表达式,直接返回false.逻辑或,在左侧表达式结果为true时,不计算右侧表达式,直接返回true.复合运算符:+=,-=,*=,/=,%=

2024-07-09 23:08:13 163

原创 基本数据类型

bool 布尔类型 1字节,取值只有true(真)和false(假。char和整数类型会自动转换,char会转换成对应的ASCII编码。unsigned char ,无符号的字符型,0~255。long double 长双精度浮点型,8字节。char 字符型, 1字节,-128~127。long long 长长整型,8字节。double 双精度浮点型,8字节。十六进制(HEX),以0x开头。short 短整型,2字节。float 浮点型,4字节。long 长整型,4字节。int 整型,4字节。

2024-07-09 22:41:18 123

原创 C++语法基础

普通变量(函数内的变量)命名:类型缩写(小写)+单词(首字母大写),例如,strStudentName,nAge。类成员变量命名:m_类型缩写(小写)+单词(首字母大写),例如,m_strStudentName,m_nAge。全局变量命名:g_类型缩写(小写)+单词(首字母大写),例如,g_strStudentName,g_nAge。例如,getAge(),setAge()。使用标识符表示数字或文字,符号常量只能在定义时指定其值,一旦初始化后不能修改。变量是命名的其值可以改变的量,变量的作用是保存数据。

2024-07-09 19:41:53 243

原创 C++学习笔记

在该领域,C语言是主要使用的编程语言,但是C++凭借其对C的兼容性,以及面向对象的性质,也开始在该领域展露头脚。1.继承C语言的优点,语言简洁紧凑,语法结构明确,拥有丰富的运算符和数据结构,程序执行效率高,可移植性好。更接近人类自然语言。C++98标准,C++标准的第一版,与1998年发布。C++11标准,C++标准的第三版,与2011年发布。C++03标准,C++标准的第二版,与2003年发布。C++14标准,C++标准的第四版,与2014年发布。C++17标准,C++标准的第五版,与2017年发布。

2024-07-08 19:58:18 324

原创 软件研发模型

迭代是将一个大项目拆分为不同的子项目,这些子项目具有独立开发、独立部署、独立交付的特性。scrum master:敏捷教练,主要负责软件研发工作的正常运行、资源协调、时间节点把控、风险预防;产品需求列表:需求在backlog中是以用户故事的方式体现,用户故事一般写在用户卡片上;迭代需求列表:由PO组织开发/测试进行每一个sprint需求确定和优先级确定。每一个sprint结束时,回顾本sprint做的好的地方和做的不好的地方。瀑布模型比较适用于比较大型的、需求明确、任务繁重的项目的组织;

2024-07-03 16:50:12 198

原创 软件测试基础

软件测试不仅仅是对计算机相关程序以及相关文档的测试,他更是软件研发过程中一系列质量活动的总称,包括质量鉴定和质量评定。

2024-07-03 08:30:00 267

原创 软件研发基础

软件是计算机程序及其他相关文档,是交付给客户的一整套解决方案。软件=程序+文档。

2024-07-02 22:20:15 300 1

空空如也

空空如也

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

TA关注的人

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