![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
Fighting++++
此博客用来做个人的学习笔记和学习资料分享
展开
-
数组和链表的区别
数组和链表的区别,请详细解释。两种数据结构都是线性表,在排序和查找等算法中都有广泛的应用各自的特点:数组:数组是将元素在内存中连续存放,由于每个元素占用内存相同,可以通过下标迅速访问数组中任何元素。但是如果要在数组中增加一个元素,需要移动大量元素,在内存中空出一个元素的空间,然后将要增加的元素放在其中。同样的道理,如果想删除一个元素,同样需要移动大量元素去填掉被移动的元素。如果应用需要快速...原创 2020-03-24 11:21:43 · 196 阅读 · 0 评论 -
快速排序和堆排序
快速排序 void QuickSort(int array[], int low, int high){ int i = low; int j = high; if (i >j) return; int temp = array[low]; while (i != j) { while (i < j && array[i] <= temp...原创 2020-03-22 12:54:59 · 221 阅读 · 0 评论 -
C++ string型的字符串用法小结
一:string型字符串声明和初始化:字符串使用所包含在的头文件#include <iostream>#include <string>//不带.h,,带.h是c语言中的using namespace std;(1)使用默认构造函数声明一个字符串变量: string str,作用声明一个空字符串,未进行初始化作用。注意区别:String s=null,...原创 2020-03-19 18:14:55 · 173 阅读 · 0 评论 -
C++之字符串复制
#include<iostream>using namespace std;void Strcopy(char *src, char *dest){while(*src++ = *dest++);//}int main(){char str1[10] = "hello";char str2[20] = "jiang";Strcopy(str1, str...原创 2019-07-06 20:59:03 · 6543 阅读 · 0 评论 -
C++学习(十)输入输出和文件
1 流的控制&&流的继承1.1 流控制类名在哪个头文件中声明iosiostreamistream,ostream,iostreamiostreamifstream,ofstream,fstramfstreamistrstream,ostrstream,strstreamstrstream格式化I/Oiomanip1.2...原创 2019-04-19 15:14:38 · 205 阅读 · 0 评论 -
C++学习(八)异常处理
程序运行时常会碰到一些异常情况,例如:做除法的时候除数为 0;用户输入年龄时输入了一个负数;用 new 运算符动态分配空间时,空间不够导致无法分配;访问数组元素时,下标越界;打开文件读取时,文件不存在。这些异常情况,如果不能发现并加以处理,很可能会导致程序崩溃。所谓“处理”,可以是给出错误提示信息,然后让程序沿一条不会出错的路径继续执行;也可能是不得不结束程序,但在...转载 2019-04-14 18:14:42 · 121 阅读 · 0 评论 -
C++学习(九)string类和标准模板库
1.string类string 类是由头文件string支持(头文件string.h和从cstring支持对c风格的字符串进行操纵的c库字符串函数,不支持string类)。1.1 构造字符串string(cost char *s);//将string对象初始化为s指向的NBTSstring(size_type n, char c);//包含n个元素的string对象,每个元素都被初始化c...原创 2019-04-16 21:49:09 · 434 阅读 · 0 评论 -
C++学习(七)代码重用
C++一个主要目标就是促进代码重用。共有继承就是实现这种目标机制之一,还有私有继承和保护继承(用于实现has-a关系),类模板也是另一个重用代码的方法。1 包含对象成员的类:1.1valarray类:这个类包含于头文件valarray中,用于处理数值,它支持诸如将数组中所有元素的值相加以及在数组中找出最大和最小的值等操作。 valarray被定义为一个模板类,以便能够处理不同的数据元素。模...翻译 2019-04-13 11:43:39 · 281 阅读 · 0 评论 -
C++学习(六)类的继承&&虚函数
1.类的继承类继承:从已有的类派生出新的类,而派生类继承原有的类的(基类)的特征,包括方法。通过类继承可以完成:(1)在已有的类的基础上添加新的功能。(2)可以给类添加数据;(3)可以修改类方法的行为。//基类class TableTennisPlayer{private:string firstname;string lastname;bool hasTable;publ...原创 2019-04-12 09:58:46 · 270 阅读 · 0 评论 -
C++学习(五)类和动态内存分配
1.new和deletec++中使用new和delete运算符来动态控制内存。StringBad::StringBad(const char *s){ len=std::strlen(s); str=new char[len+1]; std::strcpy(str,s); num_string++; cout<<num_string<<":\" "<...原创 2019-04-08 12:22:00 · 234 阅读 · 0 评论 -
C++学习(三)-对象和类
OOP的特性抽象,封装,继承,多态。1.什么是类?类是一种复杂的数据类型,它是将不同类型的数据和这些数据操作方法封装在一起的集合体。类的格式包况说明部分和实现部分(对成员函数的具体定义)。1.1 对象和类的关系类的实例化是对象,对对象的抽象是类;类是描述具有相同特征(属性)和相同行为(方法)的对象。1.2 类vs结构(1)最本质的区别:类默认的访问权限是private,而结构默的访问...原创 2019-03-28 22:48:58 · 86 阅读 · 0 评论 -
C++学习(四)使用类
1.运算符重载?定义:名称相同但参数列表不同的函数是函数重载。运算 符重载就是对已有的运算符重新进行定义,赋予其另一种功能,以适应不同的数据类型。class Time{private:int hours; int minutes;public: Time(); Time operator +(const Time&t)const; Time operator-(con...原创 2019-04-06 16:31:25 · 96 阅读 · 0 评论 -
C++学习(二)内存模型和名称空间
1.在同一文件中只能将同一头文件包含一次,解决此问题可使用(#ifndef#endif).2.C++(c++11)使用四种方案存储 数据:(1)自动存储持续性:即可理解为平常在函数内定义的变量,就是我们称之为局部变量。定义在函数中,或者定义在块(就是用{ }内)中的变量,作用域为局部,没有链接性。它的生命周期只限于函数内或者块内,随着在函数内定义变量,此变量获得内存,他的生命周期从这里开...原创 2019-03-26 11:07:00 · 168 阅读 · 0 评论 -
C++学习(一)函数探幽
1.何为内联函数?何时用内联函数?为什么用内联函数?(1)内联函数是指用inline关键字修饰的函数。函数的函数体放在类体内,即定义在类体内的成员函数。(2)语句(不包括for,while,switch)简单且少,逻辑不复杂,频繁使用。(3)使用内联函数的 目的是提高程序执行效率。(内联函数的编译代码与其他程序代码内联起来了,即编译器将使用相应的函数代码替换函数调用,对于内联代码,程序无需跳...原创 2019-03-24 21:46:55 · 157 阅读 · 0 评论