質問: {"Beta1","Beta2","Beta3"}; ``` または、それはアプローチ1であり、アプローチ2は同じパフォーマンスになりますか? 注意: 1. 平均20文字列(例:「test1」、「test2」など)で約1000件のレコード(string_ptr1、sting_ptr2など、string_literal1、string_literl2など) 2. 「ダミー」は少数のレコードしか表示されません。
回答: string_literal1000はコンパイルされません。 単純な答え:同じパフォーマンスを言う(割り当てパターンは同じなので)。 しかし、使用パターンを表示していなくても、スピードを比較してほしいというのは面白いことです。 今では、次のパターンで少し最適化できる状況を想像することができます:IFFでは、最大のエントリの長さを知っています(小さなケースのように見えます)。テーブル全体を単一のcharにパックすることで最適化できます[ ]で、整列され、素敵なバイト数(例えばOPに表示されている文字列の場合は16または32)で詰め込まれた個々の文字列を含みます。 実際のコードシナリオの詳細については、そのようなアプローチ(IMO)を推奨するのは間違いでしょう。