Rumah > Artikel > pembangunan bahagian belakang > Perbezaan dalam parameter lalai fungsi C++ dan parameter pembolehubah dalam penyusun berbeza
Parameter lalai membenarkan fungsi menggunakan nilai lalai, disokong oleh C++11 dan ke atas, menggunakan sintaks yang berbeza dalam Visual Studio. Parameter pembolehubah membenarkan fungsi menerima parameter pembolehubah Ia disokong dalam C++11 dan ke atas Ia tidak disokong dalam Visual Studio dan memerlukan sintaks khas dalam GCC.
Perbezaan dalam parameter lalai fungsi C++ dan parameter pembolehubah dalam penyusun berbeza
Parameter lalai
Parameter lalai membenarkan fungsi menggunakan parameter nilai yang dipratakrif apabila bukan parameter nilai yang telah ditetapkan. Parameter lalai disokong dalam C++11 dan lebih baru.
Dalam Visual Studio, anda boleh menentukan parameter lalai menggunakan sintaks berikut:
int AddNumbers(int a, int b = 10) { return a + b; }
Dalam GCC, gunakan sintaks berikut:
int AddNumbers(int a, int b = 10) __attribute__((deprecated));
Parameter variadic
Parameter variadik membenarkan fungsi untuk menerima argumen. C++ 11 dan kemudiannya menyokong hujah variadic.
Dalam Visual Studio, anda boleh menggunakan ...
untuk mewakili parameter berubah-ubah: ...
表示可变参数:
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))
dalam parameter lalai menunjukkan bahawa ciri telah ditamatkan tetapi masih disokong. Sila berhati-hati semasa menggunakan. 🎜🎜Atas ialah kandungan terperinci Perbezaan dalam parameter lalai fungsi C++ dan parameter pembolehubah dalam penyusun berbeza. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!