C++ で可変個引数関数を定義して呼び出すにはどうすればよいですか?

WBOY
リリース: 2024-04-12 21:03:02
オリジナル
882 人が閲覧しました

C では、... (省略記号) を使用して可変パラメータ関数を定義し、関数が任意の数のパラメータを受け入れることができるようにします。呼び出し時には、それを固定パラメータ関数として扱います。

C++ 中如何定义和调用可变参数函数?

#C で可変個引数関数を定義して呼び出すにはどうすればよいですか?

可変引数関数 (可変引数関数とも呼ばれる) を使用すると、関数は任意の数のパラメーターを受け入れることができます。 C 標準ライブラリには、printf()scanf()などの一連の可変引数関数が含まれています。独自の可変引数関数を定義することもできます。

可変個引数関数の定義

可変個引数関数を定義するには、構文...(省略記号) を使用します。これは、関数が任意の数のパラメーターを受け取ることができることを意味します。例:

#include  #include  // 包含 va_list 和相关的宏 void print_numbers(int count, ...) { va_list args; va_start(args, count); // 初始化 va_list 对象 // 遍历可变参数 for (int i = 0; i < count; i++) { int num = va_arg(args, int); // 获取下一个 int 类型的参数 std::cout << num << " "; } va_end(args); // 清理 va_list 对象 }
ログイン後にコピー

...はすべての固定パラメータ定義の後に配置する必要があることに注意してください。

可変引数関数の呼び出し

可変引数関数を呼び出すには、単に固定数の引数を持つ別の関数として扱います。例:

print_numbers(3, 1, 2, 3);
ログイン後にコピー

この関数は1 2 3を出力します。

実践的なケース

次の例は、可変パラメーター関数を定義して呼び出す方法を示しています:

#include  void print_max(int count, ...) { va_list args; va_start(args, count); // 保存最大值 int max = INT_MIN; // 获取并比较可变参数 for (int i = 0; i < count; i++) { int num = va_arg(args, int); if (num > max) { max = num; } } va_end(args); // 打印最大值 std::cout << "最大值:" << max << std::endl; } int main() { print_max(3, 1, 2, 3); print_max(5, 3, 5, 2, 1, 7); return 0; }
ログイン後にコピー

出力:

最大值:3 最大值:7
ログイン後にコピー

以上がC++ で可変個引数関数を定義して呼び出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!