C++的函数

简介: C++的函数

C++的函数

 

在C++中,函数是执行特定任务的一组语句,可以被重复调用。函数有助于模块化代码,提高可读性和可维护性。以下是C++中函数的一些基本概念:

 

函数定义与声明

 

函数定义包括函数的名称、参数列表和函数体。函数声明只包括函数的名称和参数列表。

 

cpp

 

复制

 

// 函数定义(声明和定义在一起) int add(int a, int b) { return a + b; // 函数体 } // 函数声明(不包含函数体) int add(int a, int b);

 

函数参数

 

值传递:数据从调用函数传到被调用函数。

 

引用传递:传递数据的引用,而不是数据的副本。

 

返回值

 

函数可以返回一个值,返回类型在函数声明中指定。如果没有指定返回类型,则默认返回类型为int。

 

函数调用

 

函数通过函数名调用,可以传递参数。

 

cpp

 

复制

 

int result = add(5, 3); // 调用函数并存储返回值

 

函数原型

 

在C++中,函数原型是函数声明的早期版本,用于编译器进行类型检查。原型不包含函数体。

 

cpp

 

复制

 

void printMessage(); // 函数原型 // 函数定义(在原型之后) void printMessage() { std::cout << "Hello, World!" << std::endl; }

 

默认参数

 

函数可以有默认参数,调用函数时可以不提供这些参数的值。

 

cpp

 

复制

 

int max(int a, int b, int c = 0) { return (a > b) ? (a > c ? a : c) : (b > c ? b : c); }

 

内联函数

 

内联函数是在调用点直接展开的函数,而不是生成单独的函数调用。这可以减少函数调用的开销。

 

cpp

 

复制

 

#define INLINE inline // 对于编译器来说,inline等同于INLINE INLINE int square(int x) { return x * x; }

 

函数重载

 

C++支持函数重载,即可以有多个同名函数,只要它们的参数列表不同。

 

cpp

 

复制

 

void print(int i) { std::cout << "Integer: " << i << std::endl; } void print(double f) { std::cout << "Floating point: " << f << std::endl; }

 

递归函数

 

递归函数是调用自身的函数。

 

cpp

 

复制

 

int factorial(int n) { if (n == 0) { return 1; } else { return n * factorial(n - 1); } }

 

函数指针

 

函数指针是存储函数地址的变量,可以用来间接调用函数。

 

cpp

 

复制

 

void printNumber() { std::cout << "Number: " << 42 << std::endl; } int main() { void (*pf)() = printNumber; // 函数指针 pf(); // 通过函数指针调用函数 return 0; }

 

了解函数的基本概念和使用是学习C++的重要部分。通过函数,你可以将代码组织成可重用的块,从而提高代码的模块化和可维护性。

相关文章
|
22天前
|
存储 Serverless 数据安全/隐私保护
C++ 类的成员函数和数据成员的技术性探讨
C++ 类的成员函数和数据成员的技术性探讨
23 0
|
25天前
|
算法 C语言 容器
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣(上)
从C语言到C++_18(stack和queue的常用函数+相关练习)力扣
24 0
|
2天前
|
C++ 容器
【C++】拷贝构造函数、拷贝赋值函数与析构函数
【C++】拷贝构造函数、拷贝赋值函数与析构函数
15 6
|
3天前
|
安全 C++ 开发者
C++一分钟之-函数参数传递:值传递与引用传递
【6月更文挑战第19天】C++中函数参数传递涉及值传递和引用传递。值传递传递实参副本,安全但可能效率低,适合不变对象;引用传递传递实参引用,允许修改,用于高效修改或返回多值。值传递示例显示交换不生效,而引用传递示例实现交换。常量引用则防止意外修改。选择传递方式需考虑效率与安全性。
18 2
|
10天前
|
C++
C++中函数模版与类模版
C++中函数模版与类模版
22 4
|
9天前
|
编译器 C++
c++primer plus 6 读书笔记 第八章 函数探幽0
c++primer plus 6 读书笔记 第八章 函数探幽0
|
9天前
|
编译器 vr&ar C++
c++primer plus 6 读书笔记 第七章 函数--C++的编程模块
c++primer plus 6 读书笔记 第七章 函数--C++的编程模块
|
8天前
|
编译器 C++ 存储
【C++语言】类和对象--默认成员函数 (中)
【C++语言】类和对象--默认成员函数 (中)
【C++语言】类和对象--默认成员函数 (中)
|
16天前
|
Linux C++
Linux C/C++ main函数
Linux C/C++ main函数
|
19天前
|
C++
7.C++中string的一些超常用函数 (附习题)
7.C++中string的一些超常用函数 (附习题)