3:C++学习
C++学习总结
^_^ 小小码nong
Talk is cheap, Show me the code。
展开
-
C++学习:第一个C++程序
往往学一门新的语言的时候,我们都是从最简单的程序开始的.之前有学过C++,但是没有那么系统,所以这一次算是详细,系统的再来一遍吧.先从Helloworld走起/* * =========================================================================== * * Filename: helloWorld.cpp *原创 2017-05-23 22:59:42 · 877 阅读 · 0 评论 -
C++学习:拷贝构造函数
C++学习:拷贝构造函数摘要: 拷贝构造函数是一种特殊的构造函数,具有单个形参,此形参是对该类型的引用,当定义一个新对象并用一个同类型的对象对其进行初始化的时候,将显示的使用拷贝构造函数.并且在将对象作为形式参数或者是返回值的时候,这个时候就会去隐式的调用拷贝构造函数(Copy Constructor),拷贝构造函数在C++中具有这及其重要的意义,它对于对象的引用.效率.避免内存原创 2017-06-11 21:31:58 · 1353 阅读 · 0 评论 -
C++学习:友元函数与友元类
C++学习:友元函数与友元类简介: 在某些情况下,允许特定的非成员函数,访问一个类的私有成员,同时仍然组织一般的访问友元机制(friend)允许一个类将对非公有成员的访问权授予指定的函数或者类 友元的声明以friend开始 只能出现在类定义的内部,它不是类的成员函数 它可以出现在类内部的任何地方,它不受任何访问限制符(public,private)等的限制友元函数与友元类的相关特性1:友元原创 2017-06-12 21:58:32 · 593 阅读 · 0 评论 -
C++学习:malloc/free和new/delete动态内存分配
C++学习:malloc/free和new/delete简介: 在C语言中,内存的申请和释放采用的是malloc/calloc/realloc/free来实现的,而在C++语言中,不仅可以使用以上的一些函数,而且可以采用new/delete的形式来进行内存的申请和释放.那么这两种不同的申请和释放到底有哪些优缺点呢?同样他们操作的都是堆内存.又有哪些区别呢?提示 博主:章飞_906285288原创 2017-07-03 22:54:10 · 1468 阅读 · 0 评论 -
C++学习:你该了解一点C++的设计模式之单例模式
C++学习:你该了解一点C++的设计模式之单例模式简介 在面向对象思想编程的语言中,单例模式算是最基础的一种模式之一,什么是单例模式呢??也就是在整个程序运行过程中,之存在一个实例(特殊情况下暂不考虑),在java语言中,记得有篇博文写了大概有六七中单例模式的写法,懒汉方式,饿汉模式,双重锁检查等写法.在C++这种强大的语言中,自然肯定是少不了这种单例模式 提示: 本文作者:章飞原创 2017-06-12 23:03:13 · 447 阅读 · 0 评论 -
C++学习:虚函数,纯虚函数(virtual),虚继承,虚析构函数
C++学习:虚函数,虚继承,纯虚函数(virtual)虚析构函数虚函数纯虚函数虚析构函数虚继承简介 在java这种高级语言中,有abstract和interface这两个关键字.代表的是抽象类和接口,但是在C++这门语言中,并没有专属的关键字来表示抽象类或者接口,但是它却也有接口和抽象类这样的概念.所以在这里引入了vitural这个关键字,虚构的,虚有的意思. 因为C+原创 2017-06-25 11:21:57 · 7987 阅读 · 0 评论 -
C++学习:多态(抽象类和接口)
C++学习:多态简介: 在面向对象编程的语言中,封装,继承,多态这三个要素是必不可少的,而面向对象最主要的一点也就是面向接口编程,也就是需要先去从具体的业务中去抽象出类,然后在将类实例称具体对象.但是往往有时候,有些类是不能进行具体实例化的,如动物,电脑等,所以就将其抽象成了一种抽象类. 接口:接口并不是类,编写接口的方式和类很相似,但是它们属于不同的概念,一个类通过继承接口的方原创 2017-06-25 20:05:32 · 2383 阅读 · 0 评论 -
C++学习:模板编程(泛型)
C++学习:模板编程函数模板类模板简介: 众所周知,C++这门语言是集面向过程,面向对象,以及泛型编程于一体的,之前讲了面向过程,面向对象,在这里,简单讲讲泛型编程. 泛型:也就是无类型,也就是可以容纳支持的所有类型.类似java中的ArrayList集合类一样,在创建的时候去声明类型,就可以对该类型的对象进行集中的管理操作.泛型编程的出现是为了是解决过多冗余的代码而生,想想如果做一个算法原创 2017-06-26 22:29:27 · 990 阅读 · 0 评论 -
C++学习:运算符重载
C++学习:运算符重载简介: 类是用户自定义的数据类型,使用重载运算符好可以实现一下的逻辑1:对象3 = 对象1+对象2+...如描述复数的类,描述字符串的类等等2:提高程序的可读性.重载赋值运算符 如果一个类没有赋值运算符,系统会默认提供一个 如果一个类已经提供了一个拷贝构造函数(非默认),那么也需要提供一个重载的赋值运算符 如:Stude原创 2017-06-14 22:58:30 · 926 阅读 · 0 评论 -
C++学习:在C++中的文件输入和文件输出
C++学习:在C++中的文件输入和文件输出简介: 在C语言中,我们有fread和fwrite用于文件的输入和输出,在java中我们也有inputStream和outPutStream输入输出流,在C++语言中,同样为我们封装了自己的输入ifstream,输出流ofstream,当然C++是面向对象的,所以调用的方式上可能跟C有点点小小的区别 ifstream和ofstream都是原创 2017-07-07 22:46:12 · 29620 阅读 · 0 评论 -
C++学习:内部类的声明和定义
C++学习:内部类的声明和定义简介: 内部类也就是内部的类,是包含在一个类里面的类 注意: 此时这个类不属于外部的类,不能通过外部类的对象直接调用内部类,外部的类对内部的类没有任何优越的访问权限提示: 博主:章飞_906285288 博客地址:http://blog.csdn.net/qq_29924041内部类的相关特性:1:内部类可以定义在外部类原创 2017-07-02 17:14:35 · 9952 阅读 · 0 评论 -
C++学习:map(键值对)和set(集合)
C++学习:map集合(键值对)集合(set)与映射(map)属于非线性结构容器类内部实现上面是平衡二叉树注意;map中的数据是不允许重复的,但是set集合中的元素是允许重复的map是STL的一个关联性容器,它提供一对一的数据处理能力其中第一个可以称为关键字,每个关键字只能在map中出现一次第二个称为该关键字的值 set集合begin 语法: iterator begin(); 返回指向当原创 2017-07-02 10:24:08 · 18201 阅读 · 5 评论 -
C++学习:双向链表List(集合)
C++学习:双向链表List(集合)简介: 在java中可能最常见的集合管理类就是List了,有各种ArrayList,LinkedList等,那么在C++中同样也具有这样一种STL模板类型的链表;列表List是使用双向链表来管理元素的,List的元素可以是任意类型的T,但是有一个要求就是必须具有赋值和拷贝能力 但是C++ 中list不支持随机存储,也不提供下标操作. 特点: 在原创 2017-06-30 23:34:55 · 948 阅读 · 0 评论 -
C++学习:引用和函数的高级用法
C++学习:引用和函数的高级用法引用的概念(引用和引用参数)内联函数默认参数的函数函数重载函数模板由于本人也是一位新的C++Coder,出于对C/C++的兴趣爱好,所以学习,这些也都是相关的学习笔记类的.如有写的不好或者不对的地方.求谅解.引用的概念(引用和引用参数)为什么要引入引用的概念:C语言函数的参数传递 按值传递,按值传递如果传递很大数据项,复制数据将导致较长的执行时间,原创 2017-05-25 22:28:53 · 1477 阅读 · 0 评论 -
C++学习:类,对象,封装
C++学习:类,对象,封装类对象封装C++是一门集面向过程,面向对象以及泛型编程于一体的强大的编程语言,在这里面最重要的要属面向对象了吧???什么是面向对象?面向对象的思想是什么???总结下来就一句话:万物皆对象.在面向对象的世界里,一切都是可以用对象来解释的.这也是面向对象思想的精髓部分. 万物皆对象1:类举个例子:在超时里面进行商品购物的时候,它所有的商品都是按类目来划分的.生活用品原创 2017-05-26 23:32:36 · 773 阅读 · 0 评论 -
C++学习:构造函数与析构函数
C++学习:构造函数与析构函数构造函数析构函数摘要: 在以前学习java的时候,都知道,java中的在定义class类的时候,都是可以定义一个构造函数,不定义的时候都是会采用默认的,构造函数是用来对类的对象进行初始化的过程.而java是吸取了C++中的优点.所以这样的一种构造函数同样也是吸取的是C++中的部分.但是在C++中却有两种初始化的过程,当然这两种是有一些区别的.在后续会讲原创 2017-06-01 21:26:31 · 932 阅读 · 0 评论 -
C++学习:最全标准库类型string的使用
C++学习:标准库类型string摘要 string标准库是C++提供的抽象数据类型,也是一种非常重要的数据结构.主要用于字符串之间的操作 中文的字符编码标准是GB18030,一般的汉字占用的内存为两个字节 并且string类型是支持可变长度的字符串使用:C++标准库负责管理和存储字符串所占用的内存#includeusing namespace原创 2017-06-03 15:17:11 · 4818 阅读 · 0 评论 -
C++学习:static静态成员即static成员函数
摘要:在学习java的时候,有一个非常重要的关键字static,静态的意思.在java中使用static修饰的变量或者函数,表示此变量是属于类的而不是属于对象的,在程序加载的时候就会初始化. 在C语言中使用static修饰的变量其声明周期被放大到了整个程序,使用static修饰的函数,表示其是内部函数,只能在内部进行使用. 而在C++中使用static修饰的变量或者函数表示的意思与java中类似原创 2017-06-03 16:01:13 · 1163 阅读 · 0 评论 -
C++学习:动态内存分配对象的new/delete运算符与函数malloc/free
C++学习:对象的new/delete运算符与函数malloc/free摘要: 在学习java的时候,都是使用new来创建新的对象的,对象的存放在堆里的.而回收是由java虚拟机garbage collectiong也就是GC来自动回收的在学习C语言的时候,我们知道有malloc/calloc以及realloc来进行内存分配,使用free函数来释放内存,这也是在堆上进行操作的,如果不去手动原创 2017-06-03 17:34:27 · 1638 阅读 · 0 评论 -
C++学习:向量vector
C++学习:向量vector简介: C++为我们提供了丰富的STL模板类,vector动态数组就是其中一个,本节主要是结合api文档来了解vector 向量属于序列式容器,用于容纳不定长线性序列,提供对序列的快速随机访问 向量是动态结构,模拟动态数组,它的大小不固定,可以在程序运行的时候动态增加或减少. vector的元素可以是任意类型的T,但是必须具备赋值和原创 2017-06-29 22:09:49 · 1313 阅读 · 0 评论 -
C++学习:面向对象之继承
C++学习:面向对象之继承简介: 在面向对象思想中有三大重点要素:封装(encapsulation),继承(inheritance),多态(polymorphism),这三个最最重要的思想,因为在面向对象的思想中,万物皆是对象,所有东西都是可以归为一类的,例如在自然界中的分类可以有界门纲目科书种,而封装是抽象的过程.继承和多态是相对于封装更加抽象的一类,比如:我们把一个学生Student看原创 2017-06-20 23:03:21 · 969 阅读 · 0 评论 -
C++学习:迭代器iterator的使用
C++学习:迭代器iterator的使用简介: 迭代器是面向对象版本的指针 指针可以指向内存中的一个地址,迭代器可以指向容器中的一个位置,用来遍历STL容器的全部或者部分元素 在STL的每一个容器模板中都定义了一组对应的迭代器类 操作 效果 * 返回当前位置上元素数值,如果该元素有成员,可以通过迭代器以operate->取用 +原创 2017-06-29 23:01:56 · 1809 阅读 · 0 评论 -
C++学习:回调函数(callback)
C++学习:回调函数(callback)简介: 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应 可能这些概念性的东西不是太好理解,通俗一点,回调函数就是在两个独立函原创 2017-07-09 12:36:54 · 26920 阅读 · 10 评论