2016年8月25日
摘要: 参考:C++ 内存分配(new,operator new)详解 如何限制对象只能建立在堆上或者栈上 new运算符和operator new() new:指我们在C++里通常用到的运算符,比如A* a = new A; 对于new来说,有new和::new之分,前者位于std operator new 阅读全文
posted @ 2016-08-25 23:28 已停更 阅读(23206) 评论(1) 推荐(6)
摘要: (1)定义函数模板(function template) 函数模板是一个独立于类型的函数,可以产生函数的特定类型版本。 // implement strcmp-like generic compare function template <typename T> int compare(const 阅读全文
posted @ 2016-08-25 23:08 已停更 阅读(2024) 评论(0) 推荐(1)
摘要: 模板为什么要特化,因为编译器认为,对于特定的类型,如果你能对某一功能更好的实现,那么就该听你的。 模板分为类模板与函数模板,特化分为全特化与偏特化。全特化就是限定死模板实现的具体类型,偏特化就是如果这个模板有多个类型,那么只限定其中的一部分。 那么下面3句依次调用类模板、全特化与偏特化: 对于函数模 阅读全文
posted @ 2016-08-25 20:31 已停更 阅读(482) 评论(0) 推荐(0)
摘要: 坑爹的list容器size方法--为了splice居然把复杂度设计为O(N)? 能用empty的时候,不要用size empty可以保证常量复杂度,但list的size不保证 链表长度必须要遍历全部的链表元素才能获得,而不是用一个变量来表示 list size调用distance,distance内 阅读全文
posted @ 2016-08-25 19:36 已停更 阅读(666) 评论(0) 推荐(0)