기본 매개 변수를 사용하면 함수가 Visual Studio에서 다른 구문을 사용하여 C++11 이상에서 지원되는 미리 설정된 값을 사용할 수 있습니다. 변수 매개 변수를 사용하면 함수가 변수 매개 변수를 받을 수 있습니다. C++11 이상에서는 지원되지만 GCC에서는 특수 구문이 필요합니다.
C++ 함수 기본 매개변수와 다양한 컴파일러의 변수 매개변수의 차이점
기본 매개변수
기본 매개변수를 사용하면 해당 매개변수가 제공되지 않을 때 함수가 미리 정의된 값을 사용할 수 있습니다. 기본 매개변수는 C++11 이상에서 지원됩니다.
Visual Studio에서는 다음 구문을 사용하여 기본 매개 변수를 지정할 수 있습니다.
int AddNumbers(int a, int b = 10) { return a + b; }
GCC에서는 다음 구문을 사용합니다.
int AddNumbers(int a, int b = 10) __attribute__((deprecated));
Variadic 매개 변수
Variadic 매개 변수를 사용하면 함수가 가변 개수의 인수를 받을 수 있습니다. C++11 이상에서는 가변 인수를 지원합니다.
Visual Studio에서는 ...
를 사용하여 변수 매개 변수를 나타낼 수 있습니다. ...
表示可变参数:
void PrintNumbers(int n, ...) { va_list args; va_start(args, n); for (int i = 0; i < n; i++) { cout << va_arg(args, int) << " "; } va_end(args); }
在 GCC 中,使用以下语法:
void PrintNumbers(int n, ...) __attribute__((deprecated));
实战案例
默认参数案例:
int main() { // 使用默认参数 int sum1 = AddNumbers(5); // sum1 为 15 // 不使用默认参数 int sum2 = AddNumbers(5, 20); // sum2 为 25 return 0; }
可变参数案例:
int main() { // 声明并初始化可变参数列表 int n = 5; int numbers[] = {1, 2, 3, 4, 5}; // 使用可变参数函数打印数字 PrintNumbers(n, numbers); // 输出:1 2 3 4 5 return 0; }
注意事项
__attribute__((deprecated))
rrreee__attribute__((deprecated))
는 해당 기능이 더 이상 사용되지 않지만 여전히 지원됨을 나타냅니다. 사용시 주의하시기 바랍니다. 🎜🎜위 내용은 C++ 함수 기본 매개변수와 다양한 컴파일러의 변수 매개변수의 차이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!