Skip to content

Function termination

Function termination方式

在 cppreference Functions 中,说明了function termination:

A function can terminate by returning or by throwing an exception.

关于exception,参见 C++\Language-reference\Exception 章节。

按照在 Execution-model 章节讨论的内容:

当function termination的时候,一个非常重要的过程是: stack unwinding;

关于stack unwinding,参见:

1、 C++\Language-reference\Exception\Stack-unwinding

2、C-and-C++\From-source-code-to-exec\ABI\Call-convention\Call-stack

Function return value

Function return multiple value

发展概述:

C++11:

1) return multiple value: std::tuplestd::tie

C++17:

1) return multiple value: structured binding

关于function return multiple value的发展历程,在codeproject C++ 17 New Features and Trick # Structure Binding 中进行了非常好的总结,在C++\What-is-new-in-C++\C++17\Structured-binding中收录了这篇文章。