摘要: 谷歌C++代码风格被大多数人推荐,mark一下: http://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/contents/ 阅读全文
posted @ 2018-03-28 13:32 CoderZSL 阅读(683) 评论(0) 推荐(0) 编辑
摘要: 单例模式就是一个类只有一个实例。 为了保证一个类只有一个实例。为了保证一个类只有一个实例,要保证一开始这个类只有唯一一个实例,并且不能进行拷贝等赋值和移动操作。 因此有两种实现方式,第一个是懒汉实现,在需要的时候实例化,另一种是饿汉实现,一开始就实例化。 实例化时如下: 以上懒汉代码只适合在单线程, 阅读全文
posted @ 2018-03-09 23:03 CoderZSL 阅读(179) 评论(0) 推荐(0) 编辑
摘要: malloc,free是一种库函数,不能被重载,new和delete是运算符,可以被重载 new和delete内部都调用malloc和free函数 new的三种用法: 1.new,不可以被重载 直接new一个对象 T* ptr = new T(); new一个对象时做了两件事情 * 调用了opera 阅读全文
posted @ 2017-12-18 11:19 CoderZSL 阅读(238) 评论(0) 推荐(0) 编辑
摘要: //边写边改#ifndef __ZSL_LIST_H__ #define __ZSL_LIST_H__ #include //for size_t,ptrdiff_t,initializer_list template struct node_base { node_base *pre; node_base *next; T data; }; template c... 阅读全文
posted @ 2017-12-15 16:09 CoderZSL 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 1.shared_ptr:允许多个指针指向同一个对象 初始化方式: shared_ptr p1 = make_shared(10);//最好使用这种方式 shared_ptr p2(new int(20)); //只能用直接初始化方式 和普通指针有一样的操作,*,->,swap等 支持拷贝与赋值与自定义删除器,特别地: p.get()能返回p中保存的指针,... 阅读全文
posted @ 2017-12-02 22:11 CoderZSL 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 1.左值和右值 左值:非临时对象,可以在多条语句里面使用的对象。 右值:临时对象,只能在本条语句里面使用。 如:int i = 0;//i是持久对象,能在多条语句里面使用,0是临时对象,只能在本条语句里面使用 2.左值引用和右值引用 在C++11以前,右值不能被引用,最大限度就是用常量引用绑定一个右值:const int &a = 1 左值引用:& 右值引用:&& 如下: void proces... 阅读全文
posted @ 2017-12-02 20:02 CoderZSL 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 模仿STL标准库,无单独空间配置器alloc,无萃取机traits,无反向迭代器,end_of_storage配置不同于标准库,空间配置用了placement new,new,delete部分函数还没写,还未测试完全,后面会慢慢修改 #ifndef __ZSL_String__ #define __ZSL_String__ #include #include using namespace... 阅读全文
posted @ 2017-11-12 22:33 CoderZSL 阅读(256) 评论(0) 推荐(0) 编辑
摘要: //----------------------------------删除公共字符------------------------------// /* 题目描述 输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。 例如,输入”They are students.”和”aeiou”, 则删除之后的第一个字符串变成”Thy r stdnts.” 输入描述: 每个测试输入包含2个字符串 ... 阅读全文
posted @ 2017-11-01 20:04 CoderZSL 阅读(703) 评论(0) 推荐(0) 编辑
摘要: //------------------------------------集合---------------------------------// /* 题目描述 给你两个集合,要求{A} + {B}。 注:同一个集合中不会有两个相同的元素。 输入描述: 每组输入数据分为三行,第一行有两个数字n,m(0 ≤ n,m ≤ 10000),分别表示集合A和集合B的元素个数。后两行分别表示集合A和集... 阅读全文
posted @ 2017-11-01 19:36 CoderZSL 阅读(288) 评论(0) 推荐(0) 编辑
摘要: //------------------------------------幸运数---------------------------------// /* 题目描述 小明同学学习了不同的进制之后,拿起了一些数字做起了游戏。小明同学知道,在日常生活中我们最常用的是十进制数,而在计算机中,二进制数也很常用。现在对于一个数字x,小明同学定义出了两个函数f(x)和g(x)。 f(x)表示把x这个数用... 阅读全文
posted @ 2017-11-01 19:29 CoderZSL 阅读(473) 评论(0) 推荐(0) 编辑