c++学习笔记
个人学习c++的过程中的心得体会,以及成长
小道名宇
无论你混成什么样子,你都要相信前途无量。
展开
-
stack常见用法
stack翻译为栈,是STL中实现的一个后进后出的容器,要实现stack,要先添加头文件#include<stack>定义:stack<typename> name;stack容器内元素访问,由于栈本身是一种后进先出的结构所以在STL中的stack只能通过top()来访问栈顶元素#include<cstdio>#include<stack>...原创 2019-08-09 14:09:50 · 359 阅读 · 0 评论 -
queue常见用法
queue就是队列,在STL中主要实现了一个先进先出的容器,使用queue应该先添加头文件#include<queue>定义queue<typename>name;queue本身是一种先进先出的限制性结构,因此在STL中只能通过front()来访问队首元素,或者是通过back()来访问队尾元素例:#include<cstdio>#include&l...原创 2019-08-08 20:21:18 · 6558 阅读 · 0 评论 -
string常见用法
string类型是对字符串常见的需求功能进行封装,使得操作起来更加方便,且不易出错。如果使用string需要增加string文件string的定义string str;初始化string str="abcd";string中内容的访问通过下标(像字符数组那样)#include<cstdio>#include<string>using names...原创 2019-08-08 20:02:10 · 214 阅读 · 0 评论 -
set常见用法
set翻译为集合,是一个内部自动有序且不含重复元素的容器,若使用set,需要使用set头文件,#include<set>set的定义单独定义set<typename> name;set数组定义set<typename> Arrayname[arraysize];Arrayname[0]到Arrayname[arraysize-1]中的每一个都...原创 2019-08-04 16:52:40 · 224 阅读 · 0 评论 -
继承与派生以及虚基类小结
继承就是利用原来声明的类作为基础,再加上新的内容,以减少重复的工作量一个派生类只从一个基类派生叫做单继承一个派生类有两个或多个基类的叫做多重继承继承和派生的关系可以表述为派生类是继承的具体化,而基类是派生类的抽象声明派生类的一般形式为:class 派生类名:[继承方式]基类名{派生类新加的成员};继承方式包括:public,private和protected构成一个派生类应...原创 2019-07-23 22:47:31 · 395 阅读 · 0 评论 -
关于数组的地址计算
数组一般会采用数据存储结构,数组的顺序存储结构有两种:以行序存储以列序存储数组地址的计算对于一维数组:若设A[]A[]={a1,a2,a3....,ai....an}设每个数组元素占据d个存储单元,则元素ai的存储地址为loc(A[i])=loc(A[i])+(i-1)*d对于二维数组:Amn=(图片由all友情提供,一时找不到纸笔emmm)若为行序存储,首元素a11...原创 2019-07-23 00:06:21 · 8267 阅读 · 2 评论 -
对象数组与指针小结
对象数组的每一个元素都是同类的对象如果构造函数只有一个参数,在定义数组时可以直接在等号后面的花括号内提供实参Student stud[3]={60,70,80};在定义数组时提供的实参个数不能超过数组元素如果构造函数有多个参数,应当在花括号中分别写出构造函数名并在括号内指定实参例:Student Stud[3]{ Student(1001,18,87); Student...原创 2019-07-22 00:05:36 · 295 阅读 · 0 评论 -
析构函数小结
析构函数析构函数是一个特殊的成员函数,其作用与构造函数相反,它的名字是类的名字前面加一个“~”符号,在c++中这是位取反运算符,理解为析构函数是与构造函数作用相反的函数以下四种情况程序会自动执行析构函数:如果在一个函数中定义了对象(假设是自动局部对象),当这个函数被调用结束时,对象应该释放,在对象释放前自动执行析构函数静态局部对象在函数调用结束时对象并不释放,因此也不调用析构函数,只有在...原创 2019-07-21 23:29:05 · 355 阅读 · 0 评论 -
类和对象的使用
对象的初始化不能在声明类时对数据成员进行初始化,因为类不是一个实体,而是一种抽象类型,并不占存储空间,所以无处容纳数据。如果一个类中的所有成员都是公用的,则可以在定义对象时对数据成员进行初始化例:class Time{ public: hour: minute: sec:};Time t1={14,56,30};c++提供了构造函数(constructor)来处理对象的初始...原创 2019-07-21 20:03:15 · 126 阅读 · 0 评论 -
类和对象基础知识小结
客观世界的任何一个事物都可以看作是一个对象(Object)任何一个对象都应当具有两个因素,即属性和行为在一个系统中的多个对象之间通过一定的渠道相互联系,要使某一个对象实现某一种行为(即操作),应当向它传送相应的消息在C++中,每个对象都是由数据和函数(即操作代码)两部分组成的,数据体现了前面提到的属性,而函数是用来对数据进行操作的,以便实现某些功能可以对一个对象进行封装处理,把它的一部...原创 2019-07-21 19:12:45 · 211 阅读 · 0 评论 -
字符串小结
定义字符串变量string string1;string string2="DaoZhang";//定义string2的同时对其初始化赋值string1="DaoZhang";输入输出cin>>string1;cout<<string2;字符串变量的运算**1.**字符串复制string1=string1;//作用类似于strcpy...原创 2019-07-20 23:45:07 · 139 阅读 · 0 评论 -
数组小结
首先要知道什么是数组,简单讲就是有序数据的集合,数组就是用一个统一的名字代表这批数据,然后用序号或者下标来区分各个数据定义一维数组一般形式:类型名 数组名[常量表达式],例如:int a[10]; 表明数组名为a,此数组为整型,有10个元素1. 用方括号括起来的 常量表达式表示下标值,以下写法合法int a[10];int a[2*5];in a[n*3];//假设前面已经定义了n...原创 2019-07-20 23:18:42 · 344 阅读 · 0 评论 -
静态存储类型小结
静态全局变量1.在全局变量前面加一个static,使该变量只在这个源文件可用,称之为全局静态变量2.静态全局变量对组成该程序的其他源文件是无效的静态局部变量1.静态局部变量在静态存储区内分配存储单元,在程序整个运行期间都不释放,而自动变量(即动态局部变量)属于动态存储类别,存储在动态存储区空间,函数调用后即释放掉2.对静态局部变量是在编译时赋初值,即只赋初值一次,在程序运行时已有初值,...原创 2019-07-20 22:05:53 · 2203 阅读 · 0 评论 -
函数重载与默认参数小结
对于在不同类型上作不同运算而又用同样名字的情况,称之为重载,也就是一物多用例如:int abs(int);long labs(long);double fabs(double);若用重载,可以改为:int abs(int);long abs(long);double abs(long);c++中用一种函数命名技术可以准确判断出该用哪个abs()函数。abs(-10);//调...原创 2019-07-20 20:14:52 · 594 阅读 · 0 评论 -
关于算术表达式和运算符的优先性和结合性
用算数运算符和括号将运算对象连接起来的且符合c++语法规则的式子叫作c++算术表达式,运算对象包括常量、变量和函数等在c++中规定了运算符的优先性和结合性,在求解表达式时应该按照运算符的优先级别高低次序执行。例如乘除为第五级别高于第四级别的加减,所以先计算乘除再计算加减。优先级第一级别作用域限定符 ::(不可重载)第二级别函数调用,成员初始化,指针型或者对象型成员调用,自增或者...原创 2019-07-20 19:06:33 · 2402 阅读 · 0 评论 -
vector常见用法浅析
vector即向量,可理解为“长度根据需要而自动改变的数组”vetor的定义:vector<typename>name;相当于一维数组name[SIZE],只是长度可以根据需要而自动变换,typename可以是int,double等任意类型,也可以是STL标准容器,但若typename也是一个标准容器,定义的时候需要在>>符号之间加上空格例:vector<...原创 2019-07-17 21:26:43 · 2057 阅读 · 0 评论 -
c++指针小结
变量的指针即变量的地址,用来存放变量地址的变量是指针变量在定义指针变量时必须指定其基类型,而指针变量的基类型就是该指针变量指向的变量的类型,定义指针变量的一般形式:基类型*指针变量名基本类型可以用char,int,float等系统已经定义好的类型标识符来表示,指针类型应明确指出基类型不能用一个整数去给一个指针变量赋值一个指针变量只能指向同一个类型的指针说明指针类型时应完整描述,如a是指...原创 2019-07-18 23:36:11 · 167 阅读 · 0 评论 -
c++基本概念
程序=算法+数据结构c++程序结构:预处理命令,例如#include指令和#define指令全局声明:在函数外对数据类型,函数以及变量的声明和定义函数:包括函数首部和函数体,在函数体中可以包含声明语句和执行语句c++语句:声明语句执行语句:if()else,for(),while(),do while()等函数和流对象调用语句 如cout表达式语句空语句(表示循环体什么也...原创 2019-07-15 21:07:53 · 152 阅读 · 0 评论 -
map常见用法
单独定义map map<typename1,typename2>mp,确定映射前类型键key和映射后类型值value//若为从字符型到整型的映射必须使用string而不能使用char#include<stdio.h>#include<map>using namespace std;int main(){ map<char,int>m...原创 2019-07-14 20:32:48 · 339 阅读 · 0 评论