テンプレート

[C++] テンプレートの使いどころを紹介

C++のテンプレートは、型に依存しない汎用的なコードを記述するために使用されます。 主な使いどころは、同じロジックを異なる型で再利用したい場合です。 例えば、加算や比較などの操作を行う関数や、動的配列やスタックなどのデータ構造を実装する際に

続きを読む »
vector

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

vector::front()は、C++のSTLコンテナであるstd::vectorのメンバ関数で、ベクターの先頭要素への参照を返します。 使用する際は、ベクターが空でないことを確認する必要があります。 空のベクターで呼び出すと未定義動作と

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

[C++] while文で無限ループを実装する – while(true)

C++で無限ループを実装するには、while(true)を使用します。 この構文は、条件式trueが常に真であるため、ループが終了しません。 無限ループは、特定の条件で明示的にbreak文を使用して終了させる必要があります。 例えば、ユーザ

続きを読む »
vector

[C++] vector::erase()の使い方 – 指定した値を削除する

C++のstd::vector::erase()は、指定した位置または範囲の要素を削除するメンバ関数です。 特定の値を削除するには、std::remove()と組み合わせて使用します。 std::remove()は削除対象を末尾に移動し、新

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

[C++] while文内での変数宣言した場合の動作について解説

C++では、while文内で宣言された変数は、そのスコープがwhile文のブロック内に限定されます。 具体的には、while文の条件式が評価されるたびに変数が再宣言・初期化され、ループの各反復で新しいインスタンスが生成されます。 これにより

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

[C++] while文の条件の書き方を解説

while文は、指定した条件が真である間、繰り返し処理を実行する制御構文です。 条件は丸括弧内に記述し、評価結果が非ゼロ(真)であればループが継続します。 例えば、while (i < 10)のように記述し、iが10未満である間ループ

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

[C++] while文で使う変数の初期化タイミング

C++のwhile文で使用する変数の初期化タイミングは、通常ループの外で行います。 これは、ループ条件の評価やループ内での処理に必要な変数が正しく設定されていることを保証するためです。 例えば、カウンタ変数やフラグ変数をwhile文の前に初

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

[C++] while文におけるcontinue文の使い方を初心者向けに解説

C++のwhile文でcontinue文を使うと、現在のループ処理をスキップして次の繰り返しに進みます。 continue文が実行されると、以降の処理は無視され、while文の条件式の評価に戻ります。 例えば、特定の条件で処理を飛ばしたい場

続きを読む »
文字列

[C++] vector<string>から特定の文字列を含む要素を検索する方法

C++でstd::vector<std::string>から特定の文字列を含む要素を検索するには、std::find_ifとラムダ式を使用する方法が一般的です。 std::find_ifは条件を満たす最初の要素を見つけるアルゴリ

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

[C++] while文とcinを組み合わせて複数行入力を行う方法

C++でwhile文とcinを組み合わせて複数行入力を処理する方法は、入力が終了する条件を指定しながらループを回す手法です。 一般的には、標準入力が終了する(EOF)までデータを読み取る方法が用いられます。 例えば、while (cin &

続きを読む »
文字列

[C++] stringstreamに改行を含める方法

C++のstringstreamに改行を含めるには、改行文字\nや標準ライブラリのstd::endlを使用します。 例えば、sstream << "行1\n行2";やsstream << "行1" <<

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

[C++] while文におけるbreak文の使い方を初心者向けに解説

C++のwhile文でbreak文は、ループを途中で終了させるために使用します。 通常、while文は条件がtrueの間繰り返し実行されますが、break文を使うと条件に関係なく即座にループを抜けます。 例えば、特定の条件を満たしたときにル

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

[C++] upper_bound()の使い方 – ニ分探索/lower_boundとの違い

upper_bound()は、ソートされた範囲で指定した値より「大きい」最初の要素の位置を返すC++標準ライブラリの関数です。 一方、lower_bound()は指定した値「以上」の最初の要素の位置を返します。 両者とも二分探索を用いており

続きを読む »
構造体

[C++] 構造体を持つvectorをコピーする方法と注意点

C++で構造体を持つstd::vectorをコピーするには、=演算子やコンストラクタを使用します。 std::vectorはデフォルトでディープコピーを行うため、構造体の各要素が新しいvectorに複製されます。 ただし、構造体内にポインタ

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

[C++] unique()の使い方 – 重複要素の削除

C++のstd::uniqueは、連続する重複要素を削除するためのアルゴリズムです。 ただし、完全に削除するわけではなく、重複しない要素を先頭に移動し、その後ろに不要な要素が残る形になります。 使用するには、ソート済みの範囲に適用する必要が

続きを読む »
vector

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

C++のvector::insert()は、指定した位置に要素を挿入するメンバ関数です。 挿入位置はイテレータで指定し、既存の要素は後方にシフトされます。 1つの要素を挿入する場合、insert(pos, value)を使用します。 また、

続きを読む »
vector

[C++] vector::end()の使い方 – 末尾の次の参照を取得する

C++のvector::end()は、std::vectorの末尾の次の要素を指すイテレータを返します。 このイテレータは実際の要素を指していないため、アクセスすると未定義動作になります。 主に範囲ベースのループや、begin()との組み合

続きを読む »
vector

[C++] vector::empty()の使い方 – 要素数が0か判定する

C++のvector::empty()は、std::vectorが空であるかを判定するメンバ関数です。 この関数は、ベクター内の要素数が0の場合にtrueを返し、1つ以上の要素がある場合はfalseを返します。 例えば、if (vec.em

続きを読む »
vector

[C++] vector::clear()の使い方 – 要素を全て削除する

vector::clear()は、C++標準ライブラリのstd::vectorクラスで使用されるメンバ関数で、ベクター内の全ての要素を削除します。 この関数を呼び出すと、ベクターのサイズは0になりますが、容量(capacity)は変更されま

続きを読む »
Back to top button