C++基础概念
文章平均质量分 69
you can*fighting
这个作者很懒,什么都没留下…
展开
-
指针与引用
1.引用的概念及用法 在C++中,有一种特殊的语法结构叫做引用,那什么叫做引用呢?引用是c++对c语言的一个重要扩充,换句话说,引用就是给某个变量取一个新的别名。引用的语法结构为:类型& 引用名(别名)=目标变量名。例如:int a=0;int& b=a;这条语句的意思为:定义变量a=0,b是变量的别名。在内存中的存储我们可以这样理解:有一块空间,空间里面的内容为0,这个空间的名字...原创 2018-03-13 15:36:08 · 237 阅读 · 0 评论 -
C++模板编程之Vector,List,Stack,Queue的实现
1.Vector模板实现#pragma once#include<iostream>#include<assert.h>using namespace std;template<class T>class Vector{public: Vector() :_start(NULL) ,_finish(NULL) ,_endofs...原创 2018-05-20 14:17:58 · 323 阅读 · 0 评论 -
C++对象模型之多态
虚函数:在理解多态之前,我们需要先来理解什么叫做虚函数?在成员函数之前冠以关键字“virtual”时,此时这个函数被称之为“虚函数”, 当在子类中定义了一个和父类完全一样的虚函数时,可以称为子类的这个函数重写(或者覆盖了)父类的这个虚函数。简单来说,虚函数使方法在基类和派生类中的行为不同。多态:很多时候,我们希望同一个方法在派生类和基类的行为是不一样的,换句话来说,方法的行为应取决于调用该方法的对...原创 2018-05-06 13:55:32 · 142 阅读 · 0 评论 -
C++编程之模板与泛型
模板是一种对类型进行参数化的工具,模板是泛型编程的基础,而泛型编程指的就是编写与类型无关的代码,是C++中一种常见的代码复用方式。模板分为模板函数和模板类;模板函数针对参数类型不同的函数;模板类主要针对数据成员和成员函数类型不同的类。简单的提及了模板的概念,那么模板究竟是怎样实现的呢?我们先举一个模板函数的例子,比如在c语言和c++中使用频率相当之高的swap函数,以前我们写的swap函数通常是针...原创 2018-05-18 08:55:27 · 2717 阅读 · 0 评论 -
静态成员,内联,友元,const成员函数
一.静态成员静态成员分为静态成员函数和静态数据成员,是为了实现我们有时候希望有某一个或者几个数据成员为类所定义出来的对象所共有,从而实现一个类多个对象之间的数据共享,如统计总数,平均值等。静态数据成员:若类中的一个数据成员被声明为static,则这个成员为静态数据成员,这个成员为这个类的所有对象所共享。我们需要注意以下几点:1.静态数据成员与普通成员相类似,但在其前面要加上关键字static.2....原创 2018-03-28 21:53:18 · 255 阅读 · 0 评论 -
浅析C++中的深浅拷贝
浅拷贝:又称值拷贝,将源对象 的值拷贝到目标拷贝对象中去,本质上来说源对象和目标拷贝对象共用一份实体,只是所引用的变量名不同,地址其实还是相同的。举个简单的例子:你的小名叫西西,大名叫沫沫,当别人叫你西西或者沫沫的时候你都会答应,这两个名字虽然不相同,但是都指的是你。假设有一个String类,String s1;String s2(s1);在进行拷贝构造的时候将对象s1里的值全部拷贝到对象s2里。...原创 2018-04-03 16:06:47 · 1640 阅读 · 0 评论 -
浅析C++中的动态内存分配
在C语言中,我们学到了使用malloc/calloc/relloc来进行内存的动态开辟,用free来完成内存的释放。而在C++中是通过new和delete这两个操作符来实现的。当然C++中也可以使用C语言那套内存管理的方法,毕竟C++是兼容C语言的。一.首先我们来了解一下new和delete的基本语法。int main(){ int* p1=new int;//开辟空间 delete p1;...原创 2018-04-09 15:28:58 · 4602 阅读 · 2 评论 -
日期类的实现
#include<iostream>#include<assert.h>using namespace std;class Date { public: Date(int year = 1900, int month = 1, int day = 1) :_year(year) //初始化列表 ,_month(month) ,_day(day) ...原创 2018-03-26 15:37:17 · 141 阅读 · 0 评论 -
C++中默认的成员函数
在C++中,有隐含的this指针,以及6个默认的成员函数。一.this指针首先我们来了解下this指针,1.在C++类中,每个成员函数都有一个默认的指针形参this指针,并且this指针是成员函数的第一个形参,this指针是隐式的(我们在类中声明或者定义成员函数的时候,不需要显式将this指针进行传参),对于我们的构造函数来说比较特殊,不存在这个隐含的this指针。2.编译器会对成员函数进行处理,...原创 2018-03-24 17:07:30 · 478 阅读 · 0 评论 -
初学者C++命名空间和函数重载
#include<iostream>包含的是标准的输入输出流,其作用是提供输入输出时的一些信息。一.命名空间:不同于c语言的,C++程序包含了命名空间,其含义为:使用命名空间std.因为C++标准库中的类和函数是定义在命名空间std里的,如果程序要使用C++标准库中的类和函数,就需要声明using namespace std;做提前声明,表示要用到命名空间里的内容。using name...原创 2018-03-09 15:04:52 · 452 阅读 · 0 评论 -
C++11基础知识点
1998年是C++标准委员会成立的第一年,以后每五年视实际需要更新一次标准,它开发于1998年并于2003年更新,统称为C++98或者C++03,国际标准化组织于2001年9月1号出版发布ISO/IEC 14882:2011,称为C++11。相比于C++98/03,C++11则带来了数量可观的变化,其中包含了约140个新特性,以及对C++03标准中约600个缺陷的修正,这使得C++11更像是从C+...原创 2018-08-11 21:19:37 · 2246 阅读 · 0 评论