C++11 提供了 std::terminate() 用于终止程序,配合 set_terminate 可以注册自定义的终止处理函数。当异常产生时,若调用了 std::terminate(),程序将调用该注册函数,默认行为是调用 abort。

std::terminate();   set_terminate ,产生异常会调用该函数,默认是调用abort
                void handler()
                {
                	cout << "error ~~~~~~~~~~~~~~~~~~";
                }
                
                    std::set_terminate(handler);//默认调用abort
                	try
                	{
                
                		throw std::logic_error("logic error");
                		throw std::runtime_error("mem leack");
                	}
                	catch (std::exception e)
                	{
                
                		cout << e.what();
                	//	abort();
                		std::terminate(); //终止处理异常
                	}
                
                std::ref 强制转换为引用&
                std::move 强制转换 右值引用&&