我正在閱讀flex_string的源代碼,並且不太明白爲什麼對齊是必要的,只是出於性能原因?爲什麼loki :: flex_string的SmallStringOpt需要對齊
union
{
mutable value_type buf_[maxSmallString + 1];
Align align_;
};
這裏是flex_string的設計文檔的鏈接:
http://www.drdobbs.com/generic-a-policy-based-basicstring-imple/184403784#4
對筆者說: 但是那是什麼對齊的公司嗎?那麼,在處理這種「坐位分配」時,您必須小心對齊問題。
指維基百科,**數據對齊意味着將數據放在內存偏移量等於字大小的某個倍數的位置,這會由於CPU處理內存的方式而提高系統的性能**我認爲這是唯一的原因這裏。 – stepinto