c++
dancer_0405
我有一个执着的心,只要认准了一个方向我会一直走下去,因为我知道:付出+汗水=成功。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
LRU缓存淘汰
这里写自定义目录标题模板代码实现小技巧 模板代码实现 #pragma once #include<iostream> #include<unordered_map> template<typename Node> struct DListNode { int key_ = 0; Node* value_ = nullptr; DListNode* pre_ = nullptr; DListNode* next_ = nullptr; DListNode(){}原创 2021-01-06 20:17:32 · 209 阅读 · 0 评论 -
根据唯一id生成分享码
标题根据唯一id生成分享码 #include <math.h> #include <string> using namespace std; const string share_code_62 = "1234567890qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM"; string create_share_...原创 2020-04-17 20:11:12 · 5730 阅读 · 0 评论 -
快排详解
#include"Sort.h" void QuickSort(int* arr, int start,int end) { int i = start; int j = end; int base = arr[start]; if (i > j) { return; } while (i < j) { while (i < j && ...原创 2019-07-09 23:14:38 · 536 阅读 · 0 评论 -
c++map嵌套map
头文件 #ifndef __AOI_H__ #define __AOI_H__ #include <iostream> #include <map> using namespace std; class A { public: void AddSkill(int useID, int skillID); private: struct Info { map<...原创 2019-06-18 13:37:03 · 2586 阅读 · 0 评论 -
智能指针的底层实现
引入:定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理。 boost库的智能指针 auto_ptr:资源转移,当使用拷贝构造,赋值操作时将资源转移,并将自己的资源置为空 加权限,当使用拷贝构造,赋值操作时资源不释放,只是将权限改为false,当权限为true时&&资源不为空时,才可以释放资源。 scoped_ptr:原创 2017-09-10 14:33:07 · 1609 阅读 · 0 评论 -
c++动态内存管理
c语言中我们学习了malloc,calloc,realloc,free这四个函数,前面都是c语言用来动态申请内存的函数(他们都是在堆上申请内存)最后一个函数是释放前面三个所申请的空间。 返回值:成功的话返回所申请空间的地址,失败返回NULL。 下面我们看看malloc,calloc,realloc他们的不同。 1. malloc:函数原型为void *malloc( size_t size原创 2017-07-28 09:51:18 · 806 阅读 · 0 评论 -
c++-----string和深浅拷贝
深浅拷贝 浅拷贝主要存在的问题就是同一块内存释放多次。所以引入深拷贝来解决这些问题。 下面通过代码看下浅拷贝存在的问题class String { public: String(const char* str); String(String& str); String& operator = (String& str); ~String(); private:原创 2017-07-26 13:44:07 · 330 阅读 · 0 评论 -
c++实现线性表和双向链表
深浅拷贝:深浅拷贝主要解决的问题是同一块内存释放多次 浅拷贝 深拷贝 c++实现线性表 SeqList.h #define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include using namespace std; typedef int DataType; class SeqList { pu原创 2017-07-21 15:33:00 · 394 阅读 · 0 评论 -
c++继承(单继承,多继承,菱形继承和虚继承)详解
下面我将从继承实例(代码 ),继承对象模型和原理来分析继承。 单继承 模型 代码class A { public: int _a; }; class B:public A { public: int _b; }; int main() { B b; b._a = 0; b._b = 1; return 0; }代码分析: 多继承 模型原创 2017-07-21 14:36:32 · 788 阅读 · 0 评论 -
c/c++常见面试题(一)
1.c++的三大特性是什么?说说你对面向过程和面向对象的理解? 三大特性是:封装,继承,多态。 面向过程:倾向于做一件事的流程,先做什么,然后做什么,最后做什么。更接近与计算机的实际计算模型 面向对象:倾向于建立一个对象模型,他能够近似的反应实体与实体之间的关系。它具有封装,继承,多态三大特点,更好的提高的代码的安全性和效率。 2.什么是函数重载?c语言为什么不原创 2017-07-17 10:34:10 · 385 阅读 · 0 评论 -
c++引用,指针
1.什么是引用 引用不是定义一个变量,而是给一个已经定义的变量新起一个别名 引用的格式:类型&引用变量名=已定义过的变量名 引用的特点: (1)一个变量可取多个别名 (2)引用必须初始化(特别重要) (3)引用只能在初始化的时候引用一次,不能改变为再引用其他的变量 2.下面我通过代码向大家展示引用的做用和特性 (1)一般引用,类型前不用任何词来修饰,你可以这样原创 2017-07-03 18:37:57 · 301 阅读 · 0 评论 -
c++函数重载的实现原理
1.c++问什么引入函数重载 在c语言中,如果我们写两个函数名相同的函数,编译器会告诉我们,函数重定义的错误。我们还会遇到下面这个问题:如果我们写一个计算int类型的加法,另一个计算double类型的加法,我们必须起两个不同的函数名。而在c++中我们可以解决这两个问题。我们可以用相同的函数名,只有参数列表不同可以。 2.函数重载的条件 (1)要求重载的函数必须在同一个作用域 (2)函原创 2017-07-03 10:37:40 · 519 阅读 · 0 评论 -
c++日期类
#define _CRT_SECURE_NO_WARNINGS #include<stdlib.h> #include<stdio.h> #include<iostream> using namespace std;class Date { friend ostream& operator<<(ostream &io, const Date& d); friend istream&原创 2017-07-10 18:23:55 · 383 阅读 · 0 评论
分享