
c++
我不是胖虎
这个作者很懒,什么都没留下…
展开
-
STL中map、hash_map、unordered_map
一:mapmap是基于红黑树实现的,插入,查找和删除的时间复杂度均是O(logn),对其进行操作的时间复杂度是稳定的插入:O(logN)查看:O(logN)删除:O(logN)二:hash_maphash_map底层是用hash表实现的,利用空间换取时间。插入、查找和删除的时间复杂度均是插入:O(1),最坏情况O(N)。查看:O(1),最坏情况O(N)。删除:O(1),最坏情况O(...原创 2020-02-22 15:21:01 · 231 阅读 · 0 评论 -
C++实现反射机制优化简单工厂
在简单工厂模式中,在工厂类中,需要加入switch或者if判断,增加了代码的耦合性,不利于扩展。引入反射机制则可以去除判断,而是根据传入的字符串直接生产对应的实例未加入反射机制的简单工厂class Fruit{public: virtual void eat() = 0;};class apple:public Fruit{public: void eat() { co...原创 2019-12-29 09:52:10 · 421 阅读 · 0 评论 -
C++实现反射机制
C++是不支持通过类名称字符串”ClassXX”来生成对象的,也就是说我们可以使用ClassXX* object =new ClassXX; 来生成对象,但是不能通过ClassXX* object=new “ClassXX”; 来生成对象。反射是一种通过程序运行过程中用类名创建对象,并获取类的成员和方法。Factory.h#ifndef _FACTORY_H#define _FACTO...原创 2019-12-28 21:46:16 · 242 阅读 · 0 评论 -
字符串和数字的转换
整型和字符串相互转换int转char*char*转intint转stringstring转intstring转char*char*转stringint转char*使用_itoa(int,char*,int)//要转的数字,字符串,进制int main(){ int num1 = 123; int num2 = 456; char str[10]; char *temp = _i...原创 2019-12-09 21:42:33 · 119 阅读 · 0 评论 -
企业链表(Linux内核链表改进)
#include<stdio.h>#include<stdlib.h>#include<string.h>//节点typedef struct LinkNode{ struct LinkNode* next;}LinkNode;//链表typedef struct LINKLIST{ LinkNode pHead; int size;...原创 2019-08-02 17:47:10 · 165 阅读 · 0 评论