アルゴリズム

[C++] inplace_merge()の使い方 – ソート済みコンテナの結合

C++のstd::inplace_merge()は、ソート済みの2つの範囲を1つに統合し、結果をソート済みの状態に保つアルゴリズムです。 使用するには、統合対象の範囲全体、2つの範囲の境界を示すイテレータ、および比較関数(省略可能)を指定し

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

[C++] includes()の使い方 – 範囲チェック処理

C++20で導入されたstd::ranges::includesは、2つのソート済み範囲を比較し、1つ目の範囲が2つ目の範囲を完全に含むかを判定します。 引数として2つの範囲(イテレータまたはコンテナ)を渡し、オプションでカスタム比較関数を

続きを読む »
数値型

[C++] int型の最大値・最小値はいくつ?取得する方法も解説

C++でのint型の最大値は\(2,147,483,647\)、最小値は\(-2,147,483,648\)です。 これらは32ビットの符号付き整数として定義されています。 最大値と最小値を取得するには、<climits>ヘッダ

続きを読む »
数値型

[C++] int型の最大桁数はいくつ?log10で求める方法も解説

C++におけるint型の最大桁数は、環境依存ですが、通常32ビット環境では最大値が\(2,147,483,647\)であるため、10桁です。 桁数を求めるには、最大値を用いて\(\lfloor \log_{10}(最大値) \rfloor

続きを読む »
list

[C++] list::insert()の使い方 – 指定位置に要素を追加する

C++のstd::listクラスのinsert()メソッドは、指定した位置に要素を挿入するために使用されます。 このメソッドは、イテレータを使って挿入位置を指定します。 基本的な構文はlist.insert(position, value)

続きを読む »
ファイル

[C++] jsonファイルから読み込んでデシリアライズする方法

C++でJSONファイルを読み込みデシリアライズするには、外部ライブラリを使用するのが一般的です。 代表的なライブラリとして nlohmann/json や RapidJSON があります。 これらを利用すると、JSONファイルをパースして

続きを読む »
list

[C++] list::front()の使い方 – 先頭要素への参照の取得

list::front()は、C++のSTL(標準テンプレートライブラリ)において、std::listコンテナの先頭要素への参照を取得するためのメンバ関数です。 この関数は、リストが空でない場合に使用する必要があります。 戻り値は先頭要素へ

続きを読む »
ファイル

[C++] json形式でファイルに書き込みする方法

C++でJSON形式のデータをファイルに書き込むには、JSON操作ライブラリを使用するのが一般的です。 代表的なライブラリとして nlohmann/json や RapidJSON があります。 これらを使うと、C++のオブジェクトやデータ

続きを読む »
list

[C++] list::erase()の使い方 – 指定要素の削除

C++のstd::listクラスのerase()メソッドは、リストから指定した要素を削除するために使用されます。 引数としてイテレータを受け取り、削除した要素の次の要素を指すイテレータを返します。 範囲を指定して削除する場合は、開始イテレー

続きを読む »
ファイル

[C++] 構造体をjsonフォーマットの文字列に変換する方法

C++で構造体をJSONフォーマットの文字列に変換するには、外部ライブラリを使用するのが一般的です。 代表的なライブラリとして nlohmann/json や RapidJSON があります。 これらを利用すると、構造体をJSON形式にシリ

続きを読む »
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(ヒープ条件を満たす)ま

続きを読む »
Back to top button