01 2015 档案
摘要:参考:http://cn.python-requests.org/zh_CN/latest/1.使用requests发送请求:>>> r = requests.get('https://github.com/timeline.json')#get请求>>> r = requests.post("ht...
阅读全文
摘要:1.基本的读取配置文件-read(filename) 直接读取ini文件内容-sections() 得到所有的section,并以列表的形式返回-options(section) 得到该section的所有option-items(section) 得到该section的所有键值对-get(sect...
阅读全文
摘要:#include using namespace std; /* priority_queue只允许在底端加入元素,并从顶端取出元素, 其内部元素不是依照被推入的次序排列,而是自动按照元素的权值排列,权值最大的元素排在最前面 缺省情况下priority_queue是利用一个max_heap完成.模板默认参数是vector,less. 常用接口:top(), push(), pop(),类似栈...
阅读全文
摘要://STL提供的是Max heap,使用vector作为底部容器//push_heap算法:首先将元素放到堆所对应的数组的末端,然后从该节点开始向上调整,//若当前结点键值比父结点大,则兑换位置,如此一直上溯,直到不需对换或直到根节点为止template inline void push_heap(...
阅读全文
摘要://SGI STL以deque作为缺省情况下的stack底部结构,stack没有迭代器,不提供遍历功能//queue的实现类似stack,也是以deque作为缺省底层结构template >class stack{ friend bool operator==__STL_NULL_TMPL_A...
阅读全文
摘要:/* deque是一种双向开口的连续线性空间,可以在头尾两端分别做元素的插入和删除操作 常用接口:back(), front(), push_back(), pop_back(), push_front(), pop_front() deque与vector差异: 1.deque允许于常数时间内对头部进行元素的插入和移除操作 2.deque没有容量(capacity)概念,由分段连续空间组合而成...
阅读全文
摘要://链表结点结构template struct _list_node{ typedef void *void_pointer; //指针类型为void *,其实可以设为_list_node* void_pointer prev; void_pointer next; T...
阅读全文
摘要:typedef int size_type;/*vector维护的是一个连续线性空间,提供的迭代器是Random Access Iterators即普通指针*/template class vector{protected: iterator start;//目前使用空间的头 itera...
阅读全文
摘要:python面向对象创建类:使用class语句来创建一个新类,class之后为类的名称并以冒号结尾,如下实例:class ClassName: 'Optional class documentation string'#类文档字符串 class_suite #类体python内置类属性(通...
阅读全文
摘要:python的函数参数传递:我想,这个标题或许是很多初学者的问题。尤其是像我这样的对C/C++比较熟悉,刚刚进入python殿堂的朋友们。C/C++的函数参数的传递方式根深蒂固的影响这我们的思维--引用?传值?究竟是那种呢。呵呵,语言的特性决定了是使用的方法,那么,现在我们来探究一下python的函...
阅读全文
摘要:字符串:Python不支持单字符类型,单字符也在Python也是作为一个字符串使用。在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。r或R:原始字符串,所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 >>> print r"\n" \n 在 Python ...
阅读全文
摘要:python脚本运行方法:1. python 文件名2. .py文件中添加#!/usr/bin/python(python解释器的位置),然后添加可执行权限,./文件名执行在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头,区分大小写。以单下划线开头(_foo)的代表不...
阅读全文
摘要:new运算包含两阶段操作: 1) 调用::operator new分配内存 2) 调用构造函数构造对象内容 delete运算包含两阶段操作: 1)调用析构函数将对象析构 2)调用::operator delete释放内存 stl内存配置操作由allocate()负责,内存释放操作由deallocat
阅读全文
摘要:注意operator *和operator->的实现,operator* 返回一个引用,operator->返回值必须为一个指针或可以应用 -> 操作的类型 如何获取迭代器所指对象的类型,即如何实现类型萃取? 可以定义一个类模板用于萃取迭代器特性,模板参数是迭代器类型。迭代器内部定义一个typede
阅读全文
摘要:http://cppblog.com/SmartPtr/archive/2007/07/04/27496.html (1) 类模板定义一个栈的类模板,它可以用来容纳不同的数据类型 类模板的使用除了要在声明时指明模板参数外,其余均与普通的类相同,例如: (2) 函数模板假设现在要定义一个max函数来返
阅读全文
摘要:如何声明一个重载的操作符? A: 操作符重载实现为类成员函数 重载的操作符在类体中被声明,声明方式如同普通成员函数一样,只不过他的名字包含关键字operator,以及紧跟其后的一个c++预定义的操作符。 可以用如下的方式来声明一个预定义的==操作符: 实现方式如下: 调用方式如下: 这里,因为ope
阅读全文
摘要:一. Reactor模式简介Reactor释义“反应堆”,是一种事件驱动机制。和普通函数调用的不同之处在于:应用程序不是主动的调用某个API完成处理,而是恰恰相反,Reactor逆置了事件处理流程,应用程序需要提供相应的接口并注册到Reactor上,如果相应的时间发生,Reactor将主动调用应用程...
阅读全文
摘要:当operator new申请一个内存失败的时候,它会进行如下的处理步骤: 1、如果存在客户指定的处理函数,则调用处理函数(new_handler),如果不存在则抛出一个异常。 2、继续申请内存分配请求。 3、判断申请内存是否成功,如果成功则返回内存指针,如果失败转向处理步骤1为了自定义这个“用以处...
阅读全文
摘要:函数指针是指向函数的指针变量,即本质是一个指针变量。 int (*f) (int x); /*声明一个函数指针*/ f=func; /*将func函数的首地址赋给指针f */指向函数的指针包含了函数的地址,可以通过它来调用函数。声明格式如下:类型说明符(*函数名)(参数)其实这里不能称为函数名,应该...
阅读全文
摘要:Reactor模式是处理并发I/O比较常见的一种模式,用于同步I/O,中心思想是将所有要处理的I/O事件注册到一个中心I/O多路复用器上,同时主线程阻塞在多路复用器上;一旦有I/O事件到来或是准备就绪(区别在于多路复用器是边沿触发还是水平触发),多路复用器返回并将相应I/O事件分发到对应的处理器中。...
阅读全文