模板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 程序不正常退出。