工作流程
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
常用选项
实例
阅读此文
功能
- 提供一种简单的垃圾回收机制,当变量(
new
分配的)离开其作用域,自动执行delete
原理
基于RAII(资源申请即初始化),利用C++确定性析构,保证变量当离开作用域时,自动执行析构函数来释放内存
缺陷
不能将同一个对象存储到多个auto_ptr
,会导致多次析构,从而崩溃
A *p = new A();
std::auto_ptr<A> a(p);
std::auto_ptr<A> b(p);
不能管理数据对象,因为~auto_ptr
是delete
而不是delete []
int *p=new int[10];
auto_ptr<int>ap(p);
结论
C++11已经抛弃它,boost也有更好的替代品,决不使用!
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #include <iostream> #include <memory>
class A { public: A() { std::cout << __PRETTY_FUNCTION__ << std::endl; }
~A() { std::cout << __PRETTY_FUNCTION__ << std::endl; }
private: };
int main(int argc,char* argv[]) { std::auto_ptr<A> a(new A());
return 0; }
|
参考
- http://www.cplusplus.com/reference/memory/auto_ptr/?kw=auto_ptr
- http://baike.baidu.com/view/3511189.htm
阅读此文
vi /usr/include/boost/version.hpp
阅读此文
ubuntu(ubuntu-14.04, mysql-5.5)
centos
sudo yum install mariadb-server
sudo systemctl start mariadb
常见错误
mysql ERROR: 1050 Table 'plugin' already exists
没有卸载干净,执行上面清理命令
参考:
1. <http://askubuntu.com/questions/86939/error-while-installing-mysql-server-5-1>
阅读此文