C++
 Computer >> コンピューター >  >> プログラミング >> C++

C/C++のカンマ演算子とは?仕組みと使い方を実例付きで解説

カンマ演算子の基本

カンマ(コンマ)演算子は、複数の式をひとつにつなげるための演算子です。カンマで区切られた式のリスト全体の値は、最も右側にある式の値になります。本質的に、カンマ演算子の役割は、一連の処理を左から右へ順番に実行させることにあります。

その際、右端以外の式の値はすべて破棄されます。つまり、最も右側の式の評価結果が、カンマで区切られた式全体の値となるのです。例えば、次のように書くことができます。

var = (count = 19, incr = 10, count+1);

この式では、まず count に 19 を代入し、次に incr に 10 を代入します。その後 count に 1 を加算し、最終的に var には最も右側の式 count+1 の値である 20 が代入されます。ここで括弧が必要になるのは、カンマ演算子が代入演算子よりも優先順位が低いためです。

動作を確認するサンプルコード

カンマ演算子の挙動を実際に確認するために、以下のプログラムを実行してみましょう。

コード例

#include <iostream>
using namespace std;
int main() {
   int i, j;
   j = 10;
   i = (j++, j+100, 999+j);
   cout << i;
   return 0;
}

実行結果

1010

i の値がどのように計算されるのか、その手順を順に見ていきます。

  1. まず j の初期値は 10 です。
  2. j++ が評価され、j は 11 にインクリメントされます。
  3. 次に j + 100 が計算されますが、この結果(111)は破棄されます。
  4. 最後に、まだ 11 を保持している j に 999 を加えると、1010 という結果が得られます。

補足:主な利用場面

カンマ演算子は、for 文の初期化式や更新式で複数の変数を同時に操作したい場合などによく使用されます。ただし、多用するとコードの可読性を損なう恐れがあるため、必要な場面に限定して使うことが推奨されます。

  1. C/C++の型キャストとは?基礎から整数昇格・通常の算術型変換まで解説

    型キャスト(型変換)とは、あるデータ型の変数を別のデータ型へ変換する手法のことです。例えば、long型の値を単純なint型の変数に格納したい場合、longをintへキャストすることができます。値をある型から別の型へ明示的に変換するには、キャスト演算子を次の形式で使用します。(型名) 式キャスト演算子の使用例次の例では、キャスト演算子によって整数変数同士の除算が浮動小数点演算として実行されます。#include <stdio.h> main() { int sum = 17, count = 5; double mean; mean = (double) su

  2. Linux向けC++開発に最適なIDEのおすすめ6選

    大規模なプロジェクトをテキストエディタだけで管理するのは容易ではありません。そうしたケースではIDE(統合開発環境)を活用することで、生産性が向上し、フラストレーションも大幅に軽減されるでしょう。IDEにはさまざまな種類があり、自分のニーズに合ったものを選ぶことが重要です。「Linux上のC++開発において唯一のベスト」と呼べるIDEは存在せず、賢くツールを見極める必要があります。ここでは、人気が高く、編集部のおすすめでもあるLinux向けIDEを紹介します。Linuxで使えるC++向けIDE おすすめ6選1. NetBeansNetBeansは、C/C++をはじめ多くのプログラミング言語に対