归档: 2016/4
STL学习笔记-4-序列式容器
vectorvector实际上是一个大小不定的线性空间。 vector提供的是Random Access Iterators。 如果加入新的元素时,空间不足以容纳,就会去请求更大的空间,来容纳。 12345678void push_back(const T& x) { if (finish != end_of_storage) { construct(f
python的web server
shebang这个就是放在python代码的第一句。 1#!/usr/bin/env python 这个是为了让程序找到python的位置,如果这句话不起作用的话,可以直接使用完整的python路径。 CGI(Common Gateway Interface)服务器接收到动态请求的时候,请求CGI脚本,然后启动python程序,将URL请求转换为python的标准输入,然后从python程序的标准
STL学习笔记-3-迭代器(iterators)概念与traits编程技法
auto_ptr12345void remodel(string & str) { string * ps = new string(str); str = ps; return;} 这段代码会造成内存泄漏,我们会想说在函数return之前记得delete ps即可避免内存泄漏。 12345678void remodel(string & s
STL学习笔记-2.3内存基本处理工具
2.3 内存基本处理工具这里面主要包括了三个函数 uninitialized_copy() uninitialized_fill() uninitialized_fill_n() 对应着高层次的函数 copy() fill() fill_n() 这些都是STL算法。 uninitialized_copy()讲某一区间的内容复制到另一个区间: 配置内存区块,足以包含范围内的所有元素 使用该
STL学习笔记-1.1~2.2
笔记p45出现了::operator new和::operator delete,这个地方比较难理解。首先,先把new和delete当作一个操作符,因此要重载它的时候需要加个operator。 1::operator new 这个语句的意思是在全局命名空间下的new操作符。 重要概念模版特化函数模版特化比如设置了一个带有模版的函数,但是我想对其中的某种类型参数的函数进行单独定义。如果不含有这个机制