私のC++プログラムの実行中、私は使用するデータ量があります。 いくつかの基準に応じて、いくつか使いたいと思っています。言い換えれば、要求指示を持つ一種のデータベース。C++プログラムで内部データベースを作成するにはどうすればよいですか?
内部データベースを作成し、DBリクエスト命令で使用できますか?
実行前または実行後にデータを保存する必要はありません。
編集: 私の場合は他のCライブラリを追加することはできません。私は提供されているものと一緒に作業しなければなりません。
私のC++プログラムの実行中、私は使用するデータ量があります。 いくつかの基準に応じて、いくつか使いたいと思っています。言い換えれば、要求指示を持つ一種のデータベース。C++プログラムで内部データベースを作成するにはどうすればよいですか?
内部データベースを作成し、DBリクエスト命令で使用できますか?
実行前または実行後にデータを保存する必要はありません。
編集: 私の場合は他のCライブラリを追加することはできません。私は提供されているものと一緒に作業しなければなりません。
SQLite in-memory databaseをご覧ください。
または、1つ以上のインデックスを持つコンテナを使用します。 boost::multi_index
。
ありがとう、私はこれを見ていきます。 – tsumey
データベース理論を使用できます。
1.すべてのレコードをstd::vector
に保存します。
2. std::map
を使用して、検索/インデックステーブルを作成します。
インデックステーブルを使用すると、すべてのデータを並べ替える必要なく、キーの検索時間を短縮できます。インデックステーブルの形式はstd::map<Key_Type, unsigned int>
で、unsigned int
はstd::vector
データベースのインデックスです。
[boost :: multi_index'](http://www.boost.org/doc/libs/1_63_0/libs/multi_index/doc/tutorial/)はDBと似ています – NathanOliver
あなたの要件は厳しく不十分です。このデータにどのようにアクセスしますか?どのようなデータですか?いくら?どのように構造化されていますか?これらの質問に答えることができるまで、あなたは誰でも、どの技術を使うべきかを決めることはできません。 –
のようなノードとサブノードを持つHDFデータベース。最後のサブノード(より深い)には、データ(ストロングおよび/またはダブル)が含まれています。データはメモリ内にあります(変数) – tsumey