随笔分类 - C++
摘要:1. Stl的设计思想是: 将数据容器和算法分开,彼此独立设计,最后再以一贴胶合剂将它们撮合在一起,这个胶合剂就是迭代器。 2. 从3.2节迭代器的实现可知,如果要设计一个与容器分离实现的迭代器,会暴露太多容器实现的细节,也就是说,要设计出针对某个容器的迭代器,必须对容器的实现细节非常了解, 所以就
阅读全文
摘要:http://www.cnblogs.com/lewiskyo/p/4214592.html 之前写过一篇文章介绍智能指针,并且简单实现了auto_ptr. 里面提到 auto_ptr 不能做为Stl容器的元素,原因具体是 http://www.360doc.com/content/14/0429/
阅读全文
摘要:阅读基础: Foo *pf = new Foo; 执行了两个步骤: 1)::operator new 向系统申请内存. 2) 调用Foo::Foo()构造函数构造实例. ==> 申请内存,构造实例。 delete pf; delete; 执行了两个步骤: 1)调用Foo::~Foo()析构函数. 2
阅读全文
posted @ 2016-12-26 22:53
逸马闪骑
摘要:1、为什么需要线程池?部分应用程序需要执行很多细小的任务,对于每个任务都创建一个线程来完成,任务完成后销毁线程,而这就会产生一个问题:当执行的任务所需要的时间T1小于等于创建线程时间T2和销毁线程时间T3总和时即T1 5 #include 6 using namespace std; 7 8 ...
阅读全文
摘要:文章转自 http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777416.html为什么使用const?采用符号常量写出的代码更容易维护;指针常常是边读边移动,而不是边写边移动;许多函数参数是只读不写的。const最常见用途是作为数组的界...
阅读全文
摘要:文章转自http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/08/2542315.htmlC++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明stat...
阅读全文
摘要:本文转自:http://topic.csdn.net/t/20051220/09/4469273.html函数的inline属性是在编译时确定的, 然而,virtual的性质是在运行时确定的,这两个不能同时存在,只能有一个选择,文件中的inline关键字只是对编译器的建议,编译器是否采纳是编译器的事...
阅读全文
摘要:1 #include 2 #include 3 using namespace std; 4 5 class Animal{ 6 public: 7 Animal(string name) : name(name){} 8 void printName(){ 9 ...
阅读全文
摘要:c++ 函数返回类型有三种: 1.返回值; 2.返回指针; 3.返回引用.下面介绍在函数返回的时候到底发生了什么动作。1.返回值类型:一个简单的例子:int get(){ int n=3; return n;}int main(){ int k=get();}先看get函数,局部变量n是产生在...
阅读全文
摘要:一级指针形式如: int *p二级指针形式如: int **p可能很多初学者会疑惑在函数参数里面到底应该用一级指针还是二级指针。例子:第一个是链表一个链表结构:typedef struct Node{ int value; struct Node *next;}对于添加数据到链表尾部这个函数,传...
阅读全文
摘要:参考自: http://www.cppblog.com/expter/archive/2009/03/29/78270.htmlauto_ptr是什么。解释1.auto_ptr是一个管理指针的对象,防止内存泄漏和便于程序员编程时的内存管理解释2.auto_ptr所做的事情,就是动态分配对象以及当对象...
阅读全文
摘要:1. 如想从容器删除对象,调用remove,remove_if和unique算法后,必须接着调用erase才能真正删除对象,但list的remove,remove_if和unique真的删除掉了对象。sort算法不能用于list,但list可以调用自己的sort成员函数。list自带的排序函数sor...
阅读全文
摘要:STL中的unique只能把重复的元素全部放到容器末端,并不能真正把重复元素删除. 这里使用unique 和 erase 则可达到彻底删除效果示例代码如下:#include #include #include #include using namespace std;void print(strin...
阅读全文
浙公网安备 33010602011771号