list

[C++] list::end()の使い方 – 末尾要素の次を指すイテレーターの取得

C++のstd::listクラスのend()メンバー関数は、リストの末尾要素の次を指すイテレーターを返します。 このイテレーターはリストの範囲外を指しており、実際の要素を参照することはできません。 通常、end()はループや範囲チェックで使

続きを読む »
ファイル

[C++] クラスをjson文字列にシリアライズ(nlohmann/json,RapidJSON/JsonCpp)

C++でクラスをJSON文字列にシリアライズするには、nlohmann/json、RapidJSON、JsonCppといったライブラリを使用します。 nlohmann/jsonは直感的な操作が可能で、クラスのメンバをJSONオブジェクトにマ

続きを読む »
list

[C++] list::empty()の使い方 – 空かどうかを判定

list::empty()は、C++のSTL(標準テンプレートライブラリ)におけるstd::listコンテナが空であるかを判定するメンバ関数です。 この関数は、リストが要素を持たない場合にtrueを返し、要素が1つ以上ある場合にfalseを

続きを読む »
数値型

[C++] int型のサイズ(バイト数)はいくつ?sizeof()で取得する方法

C++におけるint型のサイズは、環境(コンパイラやアーキテクチャ)によって異なりますが、一般的には4バイト(32ビット)です。 ただし、16ビットや64ビットの環境では異なる場合もあります。 サイズを確認するには、sizeof(int)を

続きを読む »
アルゴリズム

[C++] is_partitioned()の使い方 – パーティーション化判定

C++のstd::is_partitionedは、指定した範囲が特定の条件でパーティション化されているかを判定するアルゴリズムです。 パーティション化とは、範囲内の要素が条件を満たす部分と満たさない部分に分かれている状態を指します。 この関

続きを読む »
list

[C++] list::begin()の使い方 – 先頭要素を取得する

list::begin()は、C++のSTL(標準テンプレートライブラリ)において、std::listコンテナの先頭要素を指すイテレータを返すメンバ関数です。 このイテレータを使用して、リストの先頭要素にアクセスしたり、リスト全体を走査する

続きを読む »
ファイル

[C++] jsonパーサーライブラリ(nlohmann-json)の使い方

nlohmann-jsonは、C++でJSONデータを簡単に扱える軽量なライブラリです。 ヘッダオンリーで、追加の依存関係が不要です。 JSONデータをパースするには、nlohmann::json型を使用します。 文字列からJSONオブジェ

続きを読む »
数値型

[C++] int型とstring型を相互に変換する方法

C++では、int型とstring型の相互変換は以下の方法で行えます。 intからstringへの変換にはstd::to_string関数を使用します。 一方、stringからintへの変換にはstd::stoi関数を使用します。 例えば、

続きを読む »
アルゴリズム

[C++] is_heap()の使い方 – ヒープ化されてるか判定する

C++のstd::is_heap()は、指定した範囲がヒープ条件(親ノードが子ノード以上の値を持つ)を満たしているかを判定する関数です。 引数としてイテレータの範囲(例: beginとend)を渡し、戻り値はtrue(ヒープ条件を満たす)ま

続きを読む »
list

[C++] list::back()の使い方 – 最後の要素の取得

C++のstd::listクラスのback()メンバ関数は、リストの最後の要素への参照を返します。 この関数は、リストが空でない場合に使用する必要があります。 空のリストで呼び出すと未定義動作となるため、事前にempty()で確認するのが推

続きを読む »
数値型

[C++] int型の使い方(宣言/代入/演算/最大値/最小値/サイズ)

C++のint型は整数を扱う基本的なデータ型です。 宣言はint変数名;で行い、代入は=を使用します。 演算には+, -, *, /, %(剰余)などが利用可能です。 最大値と最小値は<climits>ヘッダーのINT_MAXと

続きを読む »
アルゴリズム

[C++] std::iota()の使い方 – 配列の連番数字初期化

C++のstd::iota()は、指定した範囲に連続した値を初期化するための関数です。 <numeric>ヘッダーに含まれ、範囲の開始イテレータと終了イテレータ、初期値を引数に取ります。 例えば、配列やstd::vectorに連

続きを読む »
繰り返し処理

[C++] for文で複数条件を持つ条件式を記述する方法

C++のfor文では、条件式に複数の条件を記述する場合、論理演算子(&&や||)を使用します。 例えば、複数の条件をすべて満たす場合は論理積(&&)、いずれかを満たす場合は論理和(||)を用います。 条件式は

続きを読む »
繰り返し処理

[C++] for文で条件式を省略する方法とメリットを解説

C++のfor文では、条件式を省略することで無限ループを作成できます。 構文はfor(初期化; ; 更新)のように記述し、条件式を空にすることで常に真とみなされます。 この方法のメリットは、無限ループを簡潔に記述できる点です。 特に、終了条

続きを読む »
繰り返し処理

[C++] for文におけるコロンとセミコロンの使い分け

C++のfor文では、セミコロン;は従来のカウンタ制御ループで使用され、コロン:は範囲ベースのfor文で使用されます。 セミコロンは初期化、条件式、更新式を区切るために使われ、例としてfor (int i = 0; i < n; i+

続きを読む »
標準入出力

[C++] std::cinで文字列の入力を行う方法

C++でstd::cinを使用して文字列を入力する場合、std::string型の変数を用います。 std::cinは空白文字(スペースや改行)で入力を区切るため、単語単位での入力が可能です。 複数単語を含む文字列を取得したい場合は、std

続きを読む »
標準入出力

[C++] cinで複数の値・文字列を入力する方法

C++でcinを使用して複数の値や文字列を入力するには、スペースや改行で区切られた入力を順に受け取ることができます。 例えば、cin >> a >> b;のように記述すると、スペースや改行で区切られた2つの値をそれぞ

続きを読む »
アルゴリズム

[C++] for_each()の使い方 – 範囲ベースfor文との違い

C++のfor_each()は、指定した範囲の各要素に対して関数やラムダ式を適用するアルゴリズムです。 std::for_each()はヘッダ<algorithm>で提供され、範囲(イテレータの始点と終点)を明示的に指定する必要

続きを読む »
アルゴリズム

[C++] find()の使い方 – 文字列検索のやり方

C++のfind()は、文字列やコンテナ内で特定の要素や部分文字列を検索するためのメソッドです。 文字列検索の場合、std::stringクラスのメンバ関数として使用されます。 str.find(substring)の形式で呼び出し、検索対

続きを読む »
Back to top button