C++コンストラクタの基礎と継承における注意点

C++におけるコンストラクタの役割 C++のコンストラクタは、クラスのオブジェクトが生成される際に自動的に呼び出される特殊なメンバー関数です。その主な目的は、オブジェクトの初期状態を適切に設定することにあります。コンストラクタはクラスと同名の識別子を持ち、戻り値の型を持ちません。 コンストラクタの特性と継承時の振る舞い 1. コンストラクタの非継承性 ク ...

6月11日 19:40 投稿

VideoPipeフレームワークの新機能解説

VideoPipeはオープンソース化されてから1ヶ月が経過し、多くの開発者の参加を得ました。以下にこの期間で追加された主な機能をまとめます。 プロジェクトURL: GitHubリポジトリ ### トラッキングプラグイン 新しいトラッキングプラグインが導入され、デフォルトではSORTアルゴリズムを使用しています。将来的にはDeep SORTへの拡張も容易です。以下は車両トラッキングの ...

6月11日 18:15 投稿

Visual Studio CodeでJavaとC++の開発を行う方法

Visual Studio Codeの概要 Visual Studio Code(以下、VSCode)は、軽量でありながら強力な現代的なコードエディタです。開発者向けに設計されており、効率的なコード編集体験を提供します。また、Gitバージョン管理システムとの深く統合しており、コードのバージョン管理が容易に行えます。VSCodeには豊富な拡張機能があり、様々なプラグインを通じて機能を拡張できます ...

6月11日 18:03 投稿

C++アルゴリズムの概要

C++の標準テンプレートライブラリ(STL)は、多くのアルゴリズムを提供しており、これらはコンテナ内の要素を効率的に操作するためのものです。 1. 非変更アルゴリズム これらのアルゴリズムは、操作対象となるコンテナの要素を変更しません。 1.1 findとfind_if find(first, last, value): valueと一致する最初の要素を見つけてイテレータを返します(見つからなければlast ...

6月11日 17:01 投稿

C++プログラミングコンテスト問題集と解答例

L1-1 挨拶出力 解法 指定されたテキストをそのまま出力する。 実装例 #include <iostream> using namespace std; int main() { cout << "ありがとう!\\(>_<)/" << endl; return 0; } L1-2 平均速度計算 実装例 #include <iostream> #include <iomanip> using namespace std; int main() { int distance, time; cin & ...

6月10日 20:29 投稿

C++ におけるビットマップとブルームフィルタの構造と実装

ビットマップの基本原理 ビットマップ(BitMap)は、データの存在状態をビット単位で管理するデータ構造です。各ビットが特定の要素の有無を示すフラグとして機能するため、膨大な量のデータを扱う際にもメモリ消費を極限まで抑えることができます。主に、データに重複がない場合や、存在確認のみが必要な場景において効果的です。 ビットマップのカスタム実装 標準ライブ ...

6月10日 16:12 投稿

Qtにおける時間処理とタイマー機能

Qtにおける時間処理とタイマー機能 参照資料: 1.Qtにおける時間処理とタイマー機能 2.QThreadとQTimerを用いた定時タスクの実現方法 —— 2023-11-09 夜 一.Qtの日時データ型 1.1.QTime:現在時刻の取得 実行結果 現在時刻: "14:30:45" 1.2.QDate:現在日付の取得 実行結果 現在日付: "2023-11-09" 1.3.1.QDateTime:現在日時の取得 実行結果 現在日時: ...

6月9日 22:28 投稿

第14回 藍橋杯 C/C++ Bグループ 省大会 競技課題の解説と実装

1. 日付統計 (Date Statistics) 8桁の数値が並んだ100個のデータから、2023年に存在する有効な日付(YYYYMMDD形式)がいくつ作れるかをカウントする問題です。部分列として抽出する必要があるため、全探索や動的計画法でアプローチします。このコードは計算済みの結果を出力する例です。 #include <iostream> int main() { // 探索アルゴリズムによって算出され ...

6月9日 22:20 投稿

ポインタと参照の基礎

ポインタの基本演算子 C++におけるポインタには2つの主要な演算子があります: *(間接参照演算子):ポインタに適用すると、そのポインタが指すアドレスに格納されている値を取得します。 &(アドレス演算子):変数に適用すると、その変数のメモリアドレスを取得します。 ポインタ自体も変数であるため、ポインタのアドレスを取得することも可能です。このアドレス ...

6月9日 00:28 投稿

データ構造:線形リスト

問題3156 【基礎15.例題1】生徒番号の照会 問題概要 最大2×106人の生徒が教室に入っており、それぞれの生徒番号(1〜109の範囲)が教室に入った順序で与えられる。その後、最大105回にわたって、何番目に教室に入ったかを尋ねる質問が行われる。各質問に対する答えを出力する必要がある。 入力形式 n m s1 s2 ... sn q1 q2 ... qm nは生徒数、mは質問の回数を表す。siはi番 ...

6月8日 22:54 投稿