-
C++のoverrideキーワード解説:仮想関数のオーバーライドを安全に行う方法
overrideキーワードとは? 本記事では、C++プログラミングにおける「override」キーワードの役割と基本的な使い方について解説します。 overrideキーワードは、基底クラス(親クラス)で定義された仮想関数を、派生クラス(子クラス)で同じシグネチャの関数によって再定義(オーバーライド)することを明示するための指定子です。C++11で導入されました。 オーバーライドが成立するためには、基底クラス側の関数がvirtual宣言されていることに加え、関数名・引数・const修飾などのシグネチャが完全に一致している必要があります。 コード例:オーバーライドのつもりが隠蔽になってしまうパタ
-
C++標準テンプレートライブラリ(STL)のpair(ペア)徹底解説
本チュートリアルでは、C++標準テンプレートライブラリ(STL)に含まれる pair の使い方について詳しく解説します。 pairは <utility> ヘッダーで定義されているコンテナの一種で、2つの値を格納することができます。異なるデータ型同士であっても、2つの値をひとつの組として結び付けて扱えるのが大きな特徴です。例えば、名前(文字列)と点数(整数)のように、型が異なるデータをまとめて管理したい場合に非常に便利です。 pairの基本構造 pairは first と second という2つの公開メンバ変数を持ち、それぞれ1つ目・2つ目の値に対応します。宣言時には次のように2つ
-
C++のpartition_pointとは?使い方とサンプルコードをわかりやすく解説
本記事では、C++標準ライブラリの std::partition_point について、サンプルコードを交えながらわかりやすく解説します。 partition_pointとは partition_point は、すでに分割(パーティション)済みの範囲に対して使用できるアルゴリズムの一つです。この関数は、範囲内で「述語(条件)が false となる最初の要素」を指すイテレータを返します。つまり、述語が true となる要素群と false となる要素群の境界位置を特定することができます。 サンプルプログラム #include <iostream> #include <algor
-
C++で円の弓形(セグメント)の面積を求めるプログラム
このチュートリアルでは、C++を使って円の弓形(セグメント)の面積を求めるプログラムについて解説します。円の中に弦を一本引くと、円は「優弓形(大きい側の弓形)」と「劣弓形(小さい側の弓形)」という2つの領域に分けられます。ここでは、円の半径と劣弓形に対応する中心角が与えられたとき、両方の弓形の面積を計算する方法を紹介します。弓形の面積の求め方弓形の面積は、「扇形の面積から三角形の面積を引く」ことで求められます。具体的には以下の式を使用します。扇形の面積 = π × 半径2 × (中心角 ÷ 360)三角形の面積 = (1/2) × 半径2 × sin(中心角)弓形の面積 = 扇形の面積 − 三
-
C++で指定した年の世紀を求めるプログラム
はじめにこのチュートリアルでは、与えられた年が何世紀に属するのかを判定するC++プログラムについて解説します。プログラムには1つの年が入力として渡され、その年が属する世紀を出力するのが目的です。世紀の計算ルール世紀の判定は、以下のルールに基づいて行います。年が100以下の場合 → 1世紀年が100で割り切れる場合 → 年 ÷ 100 の値がそのまま世紀それ以外の場合 → 年 ÷ 100 + 1 が世紀例えば、2000年は20世紀の最後の年であり、2001年は21世紀の最初の年にあたります。サンプルコード#include <bits/stdc++.h>using namespace
-
C++で三角形の外心を求めるプログラム
このチュートリアルでは、三角形の外心(がいしん)を求めるC++プログラムについて解説します。ここでは、同一直線上にない3つの点(非共線点)が与えられます。私たちのタスクは、それらの点によって形成される三角形の外心を正確に計算することです。外心とは?外心とは、三角形の各辺の垂直二等分線が1点で交わる点のことです。外心は三角形の3つの頂点すべてから等しい距離にあり、この距離がそのまま外接円の半径になります。アルゴリズムの流れ2点PとQを通る直線の方程式「ax + by = c」を求めます。その直線に対する垂直二等分線の方程式を導きます。同様に、QとRを通る直線の垂直二等分線も求めます。2つの垂直二
-
C++で円の円周を計算するプログラムの作成方法
このチュートリアルでは、C++を使って円の円周を求めるプログラムについて解説します。プログラムでは円の半径が入力として与えられ、その半径をもとに円周を計算して出力するのが目的です。円周の計算方法円周とは、円の外周の長さのことです。円周は次の公式を使って求めることができます。円周 = 2 × π × 半径ここで、π(パイ)は円周率と呼ばれる定数で、約3.1415という値を持ちます。半径をrとすると、円周は「2πr」で表されます。サンプルプログラム以下は、半径5の円の円周を計算して出力するC++プログラムの例です。#include<bits/stdc++.h> using namesp
-
C++で2つの時刻の差を計算する方法(HH:MM:SS形式)
プログラミングでは、2つの時刻の差を計算する場面がよくあります。例えば、処理時間の測定やタイムカードの管理などがその代表例です。本記事では、C++を使って「時:分:秒」の形式で与えられた2つの時刻の差を求める方法を解説します。 問題の概要 HH:MM:SS形式(HHは時間、MMは分、SSは秒を表す)で表された2つの時刻が与えられます。この2つの時刻の差を、同じHH:MM:SS形式で出力するのが目的です。 入力例と出力例 時刻1 = 8:6:2 時刻2 = 3:9:3 時刻の差 = 4:56:59 計算の考え方 時刻の差を求める際のポイントは、桁借り(繰り下がり)の処理です。引き算の結果が
-
【C++ STL】map::emplace_hint()関数の使い方を徹底解説
この記事では、C++ STLにおけるmap::emplace_hint()関数の動作、構文、および具体的な使用例について詳しく解説します。 C++ STLにおけるマップ(map)とは? マップ(map)は連想コンテナの一種で、キー値とマップされた値の組み合わせからなる要素を、特定の順序で格納することができます。マップコンテナ内のデータは、内部では常に対応するキーに基づいて自動的にソートされます。また、マップコンテナ内の各要素の値には、それぞれ一意なキーを通じてアクセスします。 map::emplace_hint()とは? map::emplace_hint()は、<map>ヘッダー
-
【C++ STL】map::emplace()の使い方を解説!構文・戻り値・サンプルコード付き
本記事では、C++ STLにおけるmap::emplace()関数の動作、構文、そして具体的な使用例について詳しく解説します。 C++ STLにおけるマップ(std::map)とは? マップは連想コンテナの一種で、キー(key)と対応する値(mapped value)の組み合わせからなる要素を、決まった順序で格納することができます。マップコンテナ内部では、データは常にキーに基づいて自動的にソートされて管理され、各要素へは一意なキーを通じてアクセスします。 map::emplace()とは? map::emplace()は、<map>ヘッダーファイルで定義されている関数で、マップコ
-
C++ STLのmap::erase()関数の使い方とサンプルコード解説
この記事では、C++ STLにおけるmap::erase()関数の動作、構文、および具体的な使用例について詳しく解説します。 C++ STLにおけるマップ(map)とは? マップは連想コンテナの一種で、キー(key)とマップ値(mapped value)の組み合わせからなる要素を、特定の順序で格納することができます。マップコンテナ内のデータは常にキーに基づいて内部的にソートされており、各要素には一意のキーを通じてアクセスします。 map::erase()関数とは? map::erase()は、<map>ヘッダーファイルに定義されている関数で、マップコンテナから特定の要素、または指定
-
C++ STLのmap::find()関数の使い方を徹底解説
この記事では、C++ STLにおける map::find() 関数の動作、構文、そして具体的な使用例について詳しく解説します。 C++ STLのmapとは? mapは連想コンテナ(associative container)の一種で、キー値とそれに対応するマップ済みの値(value)の組み合わせからなる要素を、特定の順序で格納することができます。mapコンテナ内部のデータは、常にキーに基づいて自動的にソートされるのが特徴です。また、各要素には一意なキーが割り当てられており、そのキーを使って対応する値へ高速にアクセスできます。 map::find()とは? map::find() は、<m
-
C++ STLのmap::get_allocator()関数の使い方と実例を徹底解説
本記事では、C++ STLにおけるmap::get_allocator()関数の動作、構文、および具体的な使用例について詳しく解説します。 C++ STLにおけるmapとは? map(マップ)は連想コンテナの一種で、キー値とマップ値を組み合わせた要素を特定の順序で格納することを可能にします。mapコンテナでは、データが内部で常にキーに基づいて自動的にソートされます。また、mapコンテナ内の値へは、それぞれ一意なキーを通じてアクセスします。 map::get_allocator()とは? map::get_allocator()は、<map>ヘッダーファイルに含まれるメンバ関数です
-
【C++ STL】map::key_comp()関数の使い方とサンプルコード解説
本記事では、C++ STLにおける map::key_comp() 関数の動作、構文、および具体的な使用例について詳しく解説します。 C++ STLにおけるmapとは? map(マップ)は連想コンテナの一種で、キー値と対応する値(マップ値)の組み合わせからなる要素を、特定の順序で格納することができます。mapコンテナ内部のデータは、常に関連付けられたキーに基づいて自動的にソートされます。また、mapコンテナ内の値には、それぞれの一意なキーを介してアクセスします。 map::key_comp()とは? map::key_comp() は、<map> ヘッダーファイルに定義されてい
-
C++ STLのmap::cbegin()関数とmap::cend()関数を徹底解説
この記事では、C++ STLにおけるmap::cbegin()関数とmap::cend()関数の動作、構文、具体的な使用例について詳しく解説します。C++ STLにおけるマップ(map)とは?マップ(map)は連想コンテナの一種で、キー値とマップ値の組み合わせからなる要素を特定の順序で格納することができます。マップコンテナでは、データは内部的に常にキーに基づいてソートされており、コンテナ内の値は一意のキーを通じてアクセスされます。map::cbegin()とは?map::cbegin()関数は、C++ STLに組み込まれた関数で、<map>ヘッダーファイル内で定義されています。cb
-
C++ STLのmap::crbegin()とmap::crend()関数の使い方を徹底解説
この記事では、C++ STLにおけるmap::crbegin()関数とmap::crend()関数の動作、構文、具体的な使用例について詳しく解説します。C++ STLにおけるマップ(map)とは?マップ(map)は連想コンテナの一種で、キー値とマップされた値の組み合わせで構成される要素を、特定の順序で格納することができます。マップコンテナ内のデータは、内部的に常にキーに基づいてソートされており、コンテナ内の値には一意のキーを使ってアクセスします。map::crbegin()とは?map::crbegin()関数は、C++ STLに組み込まれている関数で、<map>ヘッダーファイルで
-
C++ STLのmap::rbegin()関数とは?構文・戻り値・使用例を解説
本記事では、C++ STLにおけるmap::rbegin()関数の動作、構文、そして具体的な使用例について詳しく解説します。 C++ STLにおけるmap(マップ)とは? mapは連想コンテナの一種で、キー(key)とマップされた値(mapped value)のペアからなる要素を、特定の順序で格納できるコンテナです。mapコンテナ内部では、データが常にキーに基づいて自動的にソートされて管理されます。また、格納された各要素には、それぞれ一意なキーを通じてアクセスします。 map::rbegin()とは? map::rbegin()は、C++ STLに標準で用意されている組み込み関数であり、<
-
C++ STLのmap::rend()関数とは?使い方とサンプルコードを徹底解説
この記事では、C++ STLにおける map::rend() 関数 の動作、構文、そして具体的な使用例について詳しく解説します。C++ STLにおけるマップ(map)とは?マップは連想コンテナの一種で、キー値とそれに対応する値(マップドバリュー)の組み合わせからなる要素を、特定の順序で格納できるコンテナです。mapコンテナ内のデータは、内部で常にキーに基づいて自動的にソートされており、各要素へは一意なキーを通じてアクセスします。map::rend()とは?map::rend() 関数は、C++ STLに標準で組み込まれている関数で、<map> ヘッダーファイル内で定義されています。
-
C++ STLのmap::lower_bound()関数の使い方を徹底解説
本記事では、C++ STLにおけるmap::lower_bound()関数の動作、構文、および具体的な使用例について詳しく解説します。C++ STLにおけるマップ(map)とは?マップは連想コンテナの一種であり、キー(key)とそのキーに対応する値(mapped value)の組み合わせからなる要素を、特定の順序で格納することができます。マップコンテナ内のデータは、内部的に常に関連付けられたキーに基づいて自動的にソートされており、各要素には一意なキーを通じてアクセスします。map::lower_bound()とは?map::lower_bound()は、C++ STLに標準で組み込まれている関
-
C++ STLのmap::upper_bound()関数の使い方を徹底解説
この記事では、C++ STLにおけるmap::upper_bound()関数の仕組み、構文、および具体的な使用例について詳しく解説します。 C++ STLにおけるmapとは? mapは連想コンテナの一種で、キー(key)とマップ値(mapped value)のペアで構成される要素を、特定の順序で格納することができます。mapコンテナ内のデータは、内部で常にキーに基づいて自動的にソートされており、格納された値にはそれぞれ一意のキーを通じてアクセスします。 map::upper_bound()とは? map::upper_bound()は、C++ STLに組み込まれている関数で、<map&