C++ STL 基础

来源:互联网 发布:布艺沙发床价格淘宝 编辑:程序博客网 时间:2024/06/06 06:32

模板template  :Nontype Template(非型别模板参数)、缺省模板参数(default template parameters)、<span style="font-family: Arial, Helvetica, sans-serif;">关键字typename、成员模板</span>
<span style="font-family: Arial, Helvetica, sans-serif;">异常类别:语言本身支持的异常、C++标准程序库发出的异常、程序作用域之外发出的异常</span>
auto_ptr : 复制操作,会将等式左边所指向的对象释放掉,然后将
std::auto_ptr<ClassA> ptr1(new ClassA);
std::auto_ptr<ClassA> ptr2(new ClassA);
ptr2 = ptr1; // delete object owned by ptr2 
             // transfers ownership from ptr1 to ptr2. ptr1失去自己的控制权。

函数调用,作为参数传递,也会失去自己的控制权

template <class T>
void bad_print(std::auto_ptr<T> p)
当调用bad_print 时,函数调用,会失去控制权。

常量型auto_ptr 减少了“不经意转移拥有权”所带来的危险。只要一个对象通过auto_ptr传递,就可以使用常量数型auto_ptr来终结拥有权移转链,此后拥有权将不能再进行转移。在这里关键词const并非意味着你不能更改auto_ptr所拥有的对象,而是意味着你不能更改auto_ptr的拥有权。


cstdlib的一些定义

EXIT_SUCCESS  程序正常退出。

EXIT_FAILURE   程序不正常退出。

0 0
原创粉丝点击