功能背后的逻辑

时间:2013-03-27 04:46:45

标签: c++ function

我想了解这个功能的作用,背后的逻辑。

我自己搜索了每个术语(例如:size_tbitset ...)但是我仍然想知道逻辑是如何流动的?

size_t popcount(size_t n) {
    std::bitset<sizeof(size_t) * CHAR_BIT> b(n);
    return b.count();
}

1 个答案:

答案 0 :(得分:3)

返回设置的位集b中的位数(即值为1)。

size_t popcount(size_t n) 

n作为要在bitset中设置的位数。

std::bitset<sizeof(size_t) * CHAR_BIT> b(n);

创建std::bitset

return b.count();

检查std::bitset documentation ,查看std::bitset::count返回的内容,并回答您的问题。如您所见std::bitset是一个标准库提供的用于存储位的模板类。一旦您了解其余部分就非常喜欢文档,以了解该类提供的功能并将其映射到您的代码如何使用它。 / p>