C++ 関数のラムダ式は、パラメーターの受け渡しを介して外部変数をどのようにキャプチャしますか?

王林
リリース: 2024-04-25 16:15:01
オリジナル
936 人が閲覧しました

C ラムダ式は、パラメータの受け渡しを通じて外部変数をキャプチャできます。 具体的な手順は次のとおりです。 ラムダ式をパラメータとして受け入れる関数を定義します。ラムダ式で外部変数をキャプチャします。ラムダ式をパラメータとして関数に渡します。関数内でラムダ式を呼び出して、キャプチャされた外部変数にアクセスします。

C++ 函数中的 lambda 表达式如何通过参数传递捕获外部变量?

C 関数のラムダ式がパラメータの受け渡しを通じて外部変数を取得する方法

ラムダ式は C の式の一種であり、便利です無名関数を定義する方法。外部変数をキャプチャして、関数スコープ内でアクセスできるようにします。ラムダ式をパラメータとして別の関数に渡す必要がある場合、パラメータの受け渡しを通じて外部変数をキャプチャできます。

次の手順は、パラメーターの受け渡しを介して外部変数をキャプチャする方法を示しています:

#include  using namespace std; // 外部变量 int global_var = 10; // 接受 lambda 表达式作为参数的函数 void print_captured_var(function lambda) { // 在 lambda 表达式中访问捕获的外部变量 lambda(global_var); } int main() { // 定义 lambda 表达式,捕获外部变量 global_var auto lambda = [](int x) { cout << "捕获的变量:" << x << endl; }; // 将 lambda 表达式作为参数传递给 print_captured_var 函数 print_captured_var(lambda); return 0; }
ログイン後にコピー

出力:

捕获的变量:10
ログイン後にコピー

この例:

  • global_varは、値が 10 に初期化される外部 int 変数です。
  • print_captured_varこの関数は、関数オブジェクトlambdaをパラメータとして受け取り、その関数オブジェクトを呼び出し、キャプチャされた外部変数の値を実際のパラメータとして渡します。
  • lambda関数は、外部変数global_varをキャプチャするラムダ式です。ラムダ式では、外部変数の値が標準出力に出力されます。
  • main関数は、ラムダ式をパラメータとしてprint_captured_var関数に渡し、その関数を呼び出します。
  • print_captured_varこの関数は、ラムダ式でキャプチャされた外部変数の値を出力し、「キャプチャされた変数: 10」という出力を取得します。

以上がC++ 関数のラムダ式は、パラメーターの受け渡しを介して外部変数をどのようにキャプチャしますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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