バックグラウンド:
私は新しい C++ プログラマーで、指定された 16 進カラーコードの色を示す文字列を返すプログラムを構築しようとしています。全体的な機能は、マウスポインターが置かれているピクセルの 16 進コードを要求し、色を説明する文字列を返すことです (#8B0000 の「ダークレッド」など)。(私は色盲なので、とても助かります)
最初の試みとして、改行の可能なすべてのカラーコードを含む .txt ファイルを作成しました。言うまでもなく、ドキュメントには 16777216 行あり、134.2MB の大きさです。インターネットを検索したところ、C++ で .txt ファイルを読み取る唯一の方法は、最初から最後まで 1 行ずつ読むことであることがわかりました。その結果、文字列「Black」に対して「getline()」が 16777216 回呼び出されます。このアプローチは、今のところ私の「絶望的な」スタンプを付けました。
考え:
(文字列の色) の 16777216 個のインスタンスを含むベクターを作成し、16 進数から整数への変換を使用して、正しい文字列を見つけるためのインデックスとして使用したいと考えています。このベクトルも非常に大きくなり、構築または使用するのに非常に不便です。
問題:
オブジェクトをインポートしてすぐに使用できるように、大きなオブジェクトを C++ クラスと共に保存/保持するための最良の方法を (可能であれば) 見つける必要があります。
前もって感謝します。