博客专栏  >  编程语言   >  C++学习笔记

C++学习笔记

C++学习重要知识点、C++项目、C++面试题

关注
3 已关注
20篇博文
  • 单例模式的实现

    #include using namespace std; //单例模式:即单个实例的模式(面向对象,一个类只允许产生一个实例,自行实例化,并提供全局的访问方法) //分类: //1.饿汉单例:在使...

    2017-06-23 19:03
    433
  • 序列式容器:vector

    vector:连续的线性空间,与array唯一的区别在于其空间的动态配置。 其有自己的迭代器,由于它空间连续,所以不论其元素型别为何,普通指针可以作为vector的迭代器,如下: typede...

    2017-06-13 11:12
    287
  • C++如何只能在堆上或栈上生成对象

    #include using namespace std; //只能在栈上构造对象的实现:即不能调用new来在堆上构造对象,调用new其会调用operator new(), //所以只要显示定义重...

    2017-06-21 21:12
    431
  • C语言实现继承与多态

    在前面博客已经详细讲过C++中继承与多态的概念,在这里则只使用C语言的语法来实现继承与多态。 继承: 即派生类中拥有基类的成员变量和成员函数,所以C语言实现如下: #include typed...

    2017-04-18 19:21
    421
  • 内存池的实现

    根据C++STL中的空间配置器,实现一个轻量级的内存池,由于空间配置器虽然解决了外部碎片的问题,提高了效率,但它的缺陷在于若使用二级空间配置器,它不会主动释放已经空闲的内存块,还给操作系统,而是将自己...

    2017-04-18 16:48
    481
  • 动态内存开辟:new/delete,malloc/free区别与联系

    本博客主要说明new/delete,malloc/free的区别与联系,如下: 1.malloc/free为C的标准库函数,函数原型为: void* malloc(size_t size)//参数...

    2017-03-17 16:17
    671
  • STL二级空间配置器

    在前面博客已经实现了一级空间配置器,博客链接如下: http://blog.csdn.net/l_xrui/article/details/64500898 1.首先明白为什么需要二级空间配置器? ...

    2017-03-27 20:30
    388
  • 局部、局部静态、全局、全局静态变量联系区别

    局部、局部静态、全局、全局静态变量联系区别: 首先明白6大作用域:全局作用域、局部作用域、文件作用域、命名空间作用域、语句作用域、类作用域 1.从作用域区别: 局部与局部静态变量作用与局部作用域...

    2017-03-27 14:18
    329
  • string类写时拷贝的模拟实现

    为了解决string类中浅拷贝的问题,在windows系统下它则以深拷贝来解决这一问题,由于深拷贝要不断的开辟内存空间,并花费时间,所以在linux/unix系统下则采用写时拷贝(Copy_On_Wr...

    2017-03-23 18:12
    425
  • String类深拷贝的模拟实现

    深拷贝浅拷贝分析: 浅拷贝:也称位拷贝,编译器只是直接将指针的值拷贝过来,结果多个对象共用同一块内存,当一个对象将这块内存释放掉之后,另一些对象不知道该块空间已经还给了系统,以为还有效,所以在对这段...

    2017-03-23 13:47
    623
  • STL一级空间配置器

    在STL中,空间配置器是容器必不可少的东西,它为容器中的数据提供空间存储,由于考虑小型区块可能造成的内存碎片问题,STL中设计了双层级配置器,当开辟内存>128bytes时,就会调用第一级配置器,在这...

    2017-03-21 21:13
    585
  • 多态概念总结

    以下全部总结讲解或代码举例在VS2010编译器下进行: 一、基本概念 多态:具有多种形式或形态的情形(最初来源于希腊语,在C++中有广泛的含义)。 多态分类图: 静态多态:编译器在编译期间完成的,编...

    2017-03-17 17:36
    655
  • 继承与多态虚函数分析

    此处举例在VS2010中编译: 分析继承与多态在内存中的分配过程,直接以多继承举例: 首先说明虚表的概念:虚表 1.继承中没有虚函数,举例: class Base1 { public: void F...

    2017-03-16 19:23
    332
  • STL库:set和map的使用和原理

    set和map是C++标准库中的关联容器,它们中的所有元素都会根据元素的键值(key)自动被排序,又由于红黑树(RB-tree)是一种平衡二叉搜索树,自动排序效果非常好,所以标准的STL中的set和m...

    2017-02-16 12:51
    187
  • STL容器中list与迭代器iterator的模拟实现

    list在容器中结构是有一个头结点_head,头结点指向第一个结点,尾结点指向头结点,它为双向循环链表,在其中它有自己的迭代器可以类似于智能指针,用于数据的访问和算法的配合。 代码实现: #inc...

    2016-12-30 16:03
    972
  • C++类的继承总结

    一、继承概念:是面向对象程序设计使代码可以复用的重要手段,保持原有类特性基础进行扩展,增加功能,产生新的类,称为派生类。 定义格式: 三种继承关系:public,protected,private...

    2016-10-26 11:31
    734
  • C++构造函数简单实现电梯控制程序

    对于电梯,属性之一就是位置,所以要实现这一程序,要设置电梯的初始位置和按下电梯按钮改变的电梯的位置。 代码如下:#include #include #include using namespa...

    2016-09-05 19:06
    1058
  • 日期计数器—C++实现

    日期计数器实现:在程序中定义日期类:class Date{};,主要运用操作符重载知识在其中实现:日期加或减一定天数,日期减日期相差天数,两日期的各种比较与日期输入输出等功能。 具体代码实现: #...

    2016-10-22 17:21
    611
  • C++类中this指针的说明

    this指针: 1.说明:当程序中一个类定义了多个对象,多个对象都调用类中同一个成员函数时,此时怎么区别这个成员函数在哪个对象上操作,C++提供了this指针。如: class Data { publ...

    2016-09-26 21:38
    197
  • C++中类的构造函数

    构造函数: 1.定义:是一个特殊的成员函数,名字与类名相同,创建类类型对象时,由编译器自动调用,在对象的生命周期内只且只调用一次,以保证每个数据成员都有一个合适的初值。如: class Data ...

    2016-09-26 22:54
    146

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部