2

私は次のタイプの構造を持っています

struct Node
    {
        int  word;       
        int   count;       
        unordered_map<Type, Node*> map;       

    }node;   

sizeof(node)がC ++でそのノードの正しいサイズを提供すると仮定しても安全ですか?構造体にパディングがあると確信していますが、それでもsizeofはunordered_mapの正しいサイズを考慮に入れます。

4

1 に答える 1

5

はい、sizeof通常はコンパイル時に計算されるためです。

つまり、ハッシュサイズが1000または100または10または1または0であっても、同じsizeofの結果が得られます。ハッシュテーブルが変更されても拡大されるとは思わないでください。

ただし、C ++のsizeofは、厄介な結果をもたらす可能性があることに注意してください(パディング、仮想テーブルポインタの場所など)。

于 2011-09-14T17:23:24.873 に答える