主页
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操作符。 重要概念模版特化函数模版特化比如设置了一个带有模版的函数,但是我想对其中的某种类型参数的函数进行单独定义。如果不含有这个机制
mpv播放器使用指南
mpv播放器这是我觉得在mac os x平台上最好用的播放器了,耗电量正常情况下都很好。 homebrew安装解决字幕乱码在~/.config/mpv.conf中增加1subcp=enca:zh:cp936
Git以及GitHub的用法
删除远程分支当你刚刚在本地删除了一个分支,你想要让这个变化反应在远程的repo中的话1git push origin :<branch name> 假设你的branch的名字是simple那么需要的命令就是1git push origin :simple 推送新建分支到远程仓库在本地新建了一个分支,然后觉得这个分支写得好于是就可以推送到远程的仓库中。1git push origin &