我已经阅读了Facebook创建的folly代码,在这个页面https://github.com/facebook/folly/blob/master/folly/FBString.h,我发现作者在设置一些时考虑了big endian和little endian值,如容量_,代码如下:</p>
void setCapacity(size_t cap, Category cat) {
capacity_ = kIsLittleEndian
? cap | (static_cast<size_t>(cat) << kCategoryShift)
: (cap << 2) | static_cast<size_t>(cat);
}
我想知道为什么作者要考虑大端和小端,我认为我们不需要在同一台机器上考虑它们,获取和设置值由机器处理,我们可以忽略它们