关于本章
Function是programming language的核心:
1) 按照**function** and data model,它是重要组成部分,并且**Uniform function model**,参见 C++\Language-reference\Basic-concept\index.md
2) Function as first-class citizen: 使用这个特性,能够带来非常多的便利,参见C++\Language-reference\Functions\Function-as-first-class-citizen
本章描述C++中关于function的方方面面,主要内容如下:
章节 | 简介 |
---|---|
Function | 介绍了C++中function的概念、分类、callable、function object等概念 |
Function-declaration | 函数的声明与定义 |
Function-call | 介绍函数调用的相关内容 |
Lambda-expression | 介绍lambda表达式 |
Variadic-function | 变参函数 |
First-class-function | 如何将function作为first class citizen |
发展概述
C++11
1) perfect forwarding(完美转发): 参见C++\Language-reference\Reference\Perfect-forwarding
。
2) variadic function: 参见C++\Language-reference\Functions\Variadic-function
。
3) return multiple value: std::tuple
、std::tie
C++17
1) return multiple value: structured binding
2) std::apply
、std::invoke