c++
文章平均质量分 52
phonycat
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++---重载和缺省参数
更多点子:c++—目录索引(知识小渠道)c++ 贝尔实验室的比亚尼.斯特劳斯特鲁普博士在二十世纪80年代发明并实现了c++。起初,这种语言被称作“C with Class”(包含类别的C语言),作为C语言的增强版出现。c几乎是c++的一个子集,所以C语言支持的语法在c++基本都支持并需要使用。#include<iostream.h>//这是就C++库的头文件,新的编译器...原创 2018-03-23 20:37:53 · 347 阅读 · 0 评论 -
单例模式
单例模式是一种软件设计模式,在它的核心结构中只包含一个被称为单例类的特殊类,通过单例模式可以保证系统中一个类只有一个实例,而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源 如何保证一个类只有一个实例并且这个实例易于被访问?定义一个全局变量可以确保对象随时都可以被访问,但不能防止我们实例化多个对象。更好的办法是让类自身负责保存它的唯一实例,这个类可以保证没有其他实例被创建,并且它提...原创 2019-02-26 16:54:53 · 187 阅读 · 0 评论 -
malloc的一点点东西
提问:malloc是不是线程安全的?提问:malloc是如何实现的?线程安全:需要解决多个线程调用函数时访问共享资源的冲突可重入:需要不再函数内部使用静态或全局数据,不反悔静态或全局数据,也不调用不可重入函数malloc函数线程安全但不可重入 malloc函数在用户空间要自己管理各进程共享的内存链表,由于有共享资源访问,本身会造成线程不安全。为了做到线程安全,加锁保护。递归锁,如果当程...原创 2019-02-18 17:22:17 · 558 阅读 · 0 评论 -
c++---多态和虚函数
一、多态 c++有三大特性:封装,继承,多态 多态是面向对象程序设计的一个重要特征,多态就是一个东西有多重状态,具有不同功能的函数可以用一个函数名,这样就可以用一个函数名实现不同的功能 静态多态和动态多态静态多态是利用重载实现的,在程序编译时确定要调用的是哪个函数,也称为编译时多态。动态多态是利用虚函数实现的,在程序执行期间才动态的确定操作所指对的对象,也称为运行时多态 动态多态:当一个基...原创 2019-02-17 21:22:36 · 326 阅读 · 0 评论 -
C++---模拟实现list
#include<iostream>#include<assert.h>using namespace std;typedef int DataType;struct ListNode{ ListNode *_next; ListNode *_prev; ListNode _data; ListNode(DataType x) :_data(x...原创 2018-12-01 17:07:11 · 265 阅读 · 1 评论 -
C++---模拟实现vector
#include<iostream>#include<assert.h>typedef int DataType;using namespace std;class Vector{public: Vector() :_first(NULL) ,_finish(NULL) ,_endofstorage(NULL) {} Vector(con...原创 2018-12-01 16:08:30 · 283 阅读 · 0 评论 -
new和malloc的你来我往--区别
操作符与函数new是一个操作符,malloc是一个函数分配内存的位置new 在自由存储区,malloc在堆上 自由存储区是c++对new的一个抽象概念,可以是堆,也可以是静态存储区,看operator new在哪给分配内存内存分配成功的返回值new返回对象类型指针,malloc返回void* ,根据需要强转类型 new内存分配成功的时候,返回的是对象类型的指针,不需要进行类...原创 2018-08-03 19:24:35 · 220 阅读 · 0 评论 -
c++---模拟实现String类(浅拷贝)
更多点子:c++—目录索引(知识小渠道)String:浅拷贝之引用计数+写时拷贝浅拷贝:当类里面有指针对象时,进行简单赋值的浅拷贝,两个对象指向同一块内存,析构时delete两次这块内存,存在崩溃问题,这时得进行深拷贝 深拷贝:(String s2=s1)构造s2时拷贝一块跟s1指向数据块一样大的数据块,并将值拷贝下来,这样s1和s2指向各自的数据块,析构时delete各自的数据块...原创 2018-04-30 08:50:35 · 281 阅读 · 0 评论 -
c++---继承
c++—目录索引(知识小渠道)1.继承继承概念 继承是面向对象复用的重要手段,通过继承定义一个类,继承是类型之间的关系建模,共享共有的访问限定符和继承关系 private:私有,在父类里,成员为私有限定,意味着不管是什么继承,这个成员就是不让你看,就算你是从我这继承的 protect:保护,父类成员受保护,说明访问还是可以让你访问的,但只能是子类在自己的内部访问,不可以...原创 2018-05-13 12:00:23 · 273 阅读 · 1 评论 -
c++---模板
模板是泛型编程的基础,不支持分离编译(定义和声明只能在一个文件中) 泛型编程就是编写与类型无关的逻辑代码,是一种复用的方式 编译器调用模板参数函数时,编译器会根据传递的参数自动推演出模板的形参的类型,自动生成对应代码。 模板的分离编译 模板实现在一个.cpp文件,模板的调用在main函数的.cpp文件,main函数去其他.cpp找模板实现,但实现函数的.cpp因为没有在文件内调用并不...原创 2018-05-12 20:16:13 · 372 阅读 · 0 评论 -
c++----模拟实现String类(深拷贝)
更多点子:c++—目录索引(知识小渠道)string:深拷贝之传统现代写法浅拷贝:当类里面有指针对象时,进行简单赋值的浅拷贝,两个对象指向同一块内存,析构时delete两次这块内存,存在崩溃问题,这时得进行深拷贝深拷贝:(String s2=s1)构造s2时拷贝一块跟s1指向数据块一样大的数据块,并将值拷贝下来,这样s1和s2指向各自的数据块,析构时delete各自的数据块传统写...原创 2018-04-25 09:09:39 · 269 阅读 · 0 评论 -
c++---目录索引(知识小渠道)
重载和缺省参数引用和指针类和对象默认成员函数实现日期类const成员函数,内联函数,友元函数,static成员,构造函数的优化new/delete以及this指针模拟实现String类(深拷贝)模拟实现String类(浅拷贝)...原创 2018-04-30 18:39:35 · 297 阅读 · 0 评论 -
c++---默认成员函数
更多点子:c++—目录索引(知识小渠道)class Date{public: void show() { cout&lt;&lt;_year&lt;&lt;"-"&lt;&lt;_month&lt;&lt;"-"&lt;&lt;_day原创 2018-04-06 16:15:09 · 417 阅读 · 0 评论 -
c++----new/delete 以及this指针
更多点子:c++—目录索引(知识小渠道)this指针的值是当前调用成员函数的对象的起始地址 this指针特性: 1. this指针并不是对象本身的一部分,不影响sizeof的结果 2. this的作用域在类成员函数的内部(不严谨) 3. this指针是类成员函数的第一个默认隐含参数,编译器自动维护传递,类编写者不能显示传递 4.只有在类的非静态成员函数中才可以使用this指针,其...原创 2018-04-11 07:46:48 · 1352 阅读 · 0 评论 -
c++---类和对象
更多点子:c++—目录索引(知识小渠道)面向对象程序设计(OOP):是一种程序设计型,也是一种程序开发的方法,对象指的是类的实例,将对象作为程序的基本单元,将程序和数据封装在里面,提高软件的重用性,灵活性和扩展性 类类里面除了数据(成员变量),还有方法(成员函数)面向对象的三大特性:封装,继承,多态三种访问限定符:public,protected,private **1.*...原创 2018-03-27 11:37:10 · 220 阅读 · 0 评论 -
c++---引用和指针
更多点子:c++—目录索引(知识小渠道)引用: 引用不是定义一个变量,而是给一个已经定义好的变量重新起一个名字 类型&引用变量名=已定义过的变量名 特点: 1 一个变量可以取多个别名 2 引用必须初始化 3 引用只能在初始化的时候引用一次,不能改变为引用其他的变量void Test1(){ int a = 1; int& b = a;...原创 2018-03-26 20:38:38 · 253 阅读 · 0 评论 -
c++---const成员函数,内联函数,友元函数,static成员,构造函数的优化
更多点子:c++—目录索引(知识小渠道)const修饰成员函数: 在成员函数后面加上const,const修饰this指针所指向的对象,也就是保证调用这个const成员函数的对象在函数体内不会被改变 权限可以缩小,但是不可以放大 **1.**const对象不可以调用非const成员函数 2.非const对象可以调用const成员函数 **3.**const成员函数内不可以调用其...原创 2018-04-09 08:18:48 · 526 阅读 · 0 评论 -
c++---实现日期类
更多点子:c++—目录索引(知识小渠道)#pragma once#include<iostream>#include<assert.h>using namespace std;class Date{public: Date(int year = 1900, int month = 1, int day = 1)//构造函数,支持重载 ...原创 2018-04-08 16:41:42 · 364 阅读 · 2 评论 -
C++---智能指针
在代码中经常忘记释放动态开辟的内存资源,造成内存泄露,并且在操作时要小心谨慎,避免内存泄露,因此产生了只能指针来动态的管理指针所指向的动态资源释放auto_ptr:管理权的转移操作,存在缺陷scoped_ptr:一种粗暴模式的防拷贝shared_ptr:在需要拷贝的地方增加了引用计数功能weak_ptr:具有弱指针功能,主要配合解决shared_ptr循环引用auto_ptr作用:是一...原创 2019-03-27 14:54:31 · 291 阅读 · 0 评论
分享