Skip to content

函数

函数是一组一起执行一个任务的语句的集合。

cpp
// 简单的函数
void fun() {

}

// 有形参的函数
void fun(int arg) {

}

// 有形参,并且有默认值
void fun(int arg = 1) {

}

// 有可变形参的函数
void fun(int arg ...) {

}

// 简写函数模版的函数
void fun(auto arg);
// 等于
template<class T>
void fun(T arg);

void fun(C auto); // C是概念(concept)
// 等于
template<C T>
void fun(T);

// 有异常抛出的函数
void fun(float arg) noexcept(false) {

}
void fun(float arg){

}

// 没有异常抛出的函数
void fun(float arg) noexcept(true) {

}
void fun(float arg) noexcept {

}
void fun(float arg) throw() {

}

// 有尾随类型的函数
template<class T, class U>
auto add(T t, U u) -> decltype(t + u) {
    return t + u;
}

如果函数申明的返回值为auto,那么尾随返回类型可以省略,且编译器将从返回语句中所用的表达式的类型推导出它。

虚函数和协程不能使用返回类型推导。