【发布时间】:2018-02-15 15:13:23
【问题描述】:
看过Facebook创建的folly的代码,在这个页面https://github.com/facebook/folly/blob/master/folly/FBString.h,发现作者在设置一些值的时候考虑了大端和小端,比如容量_,代码如下:
void setCapacity(size_t cap, Category cat) {
capacity_ = kIsLittleEndian
? cap | (static_cast<size_t>(cat) << kCategoryShift)
: (cap << 2) | static_cast<size_t>(cat);
}
我想知道为什么作者要考虑大端和小端,我认为我们不需要在同一台机器上考虑它们,获取和设置值是由机器处理的,我们可以忽略它们
【问题讨论】:
-
kIsLittleEndian 用于判断大端还是小端
标签: c++ facebook endianness folly