C++のコンマ演算子とは?仕組みと使い方をサンプルコード付きで解説
コンマ演算子(カンマ演算子)は、複数の式を1つの式にまとめるための演算子です。コンマで区切られた式のリスト全体の値は、最も右側にある式の値になります。つまり、コンマ演算子の役割は、一連の処理を順番に実行させることにあります。
左側の式の値はすべて破棄されるため、右端の式の評価結果が、コンマ区切り式全体の値として採用されます。
サンプルコード
次のプログラムは、コンマ演算子の動作を示したものです。
#include <iostream>
using namespace std;
int main() {
int i, j;
j = 10;
i = (j++, j+100, 999+j);
cout << i;
return 0;
}実行結果
このプログラムを実行すると、次の出力が得られます。
1010
処理の流れの解説
ここで、変数iの値がどのように計算されるのか、その手順を順番に見ていきましょう。
- まず、変数jは10で初期化されます。
- 次に「j++」が評価され、jは11にインクリメントされます。
- 続いて「j + 100」が評価されますが、この結果(111)は破棄されます。
- 最後に「999 + j」が評価されます。jはまだ11なので、999 + 11 = 1010 となり、この値がiに代入されます。
このように、コンマ演算子を使うと、1つの式の中で複数の処理を左から右へ順番に実行し、最後の式の結果だけを取り出すことができます。
注意点
関数呼び出しの引数リストや変数宣言などで使われるコンマは、引数や宣言の区切りを意味するものであり、コンマ演算子ではありません。また、可読性の観点から、実際のコードではコンマ演算子の多用は避け、必要な場面でのみ使用するのが良いでしょう。
-
C++とOpenCVで動画のFPS値を取得する方法をわかりやすく解説
OpenCVで動画のFPS(Frames Per Second:1秒あたりのフレーム数)を取得するには、VideoCaptureクラスが提供するget()メソッドを使用します。引数にはCAP_PROP_FPSを指定します。このプロパティは、対象動画のFPS値を返します。プログラムの冒頭では、FPS値を格納するための整数型変数「FPS」を宣言しています。その後、FPS = cap.get(CAP_PROP_FPS);という処理によって、取得したFPS値を変数に保存します。以下のサンプルプログラムは、指定した動画ファイルのFPSを取得し、コンソールウィンドウに表示するものです。サンプルコード#in
-
YouTubeアルゴリズムの仕組みを徹底解説!おすすめ欄と検索結果に表示される方法
YouTubeのおすすめ欄は、多くのユーザーが新しい動画を探すときに最初に目を向ける場所です。ここに表示される動画は、一人ひとりの視聴傾向に合わせてカスタマイズされており、ユーザーがクリックしたくなるような動画が並んでいます。では、これらの動画は一体どのように選ばれているのでしょうか。 この仕組みは一般的に「YouTubeアルゴリズム」と呼ばれています。これは、どの動画をユーザーのおすすめ欄に表示するかを計算するシステムであり、検索結果にも大きな影響を与えます。そのため、より多くのオーディエンスへリーチしたいクリエイターにとって、アルゴリズムの仕組みを理解することは非常に価値のあることだと言