gpt4 book ai didi

c++ - 为什么bitset要用template来实现?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:03 24 4
gpt4 key购买 nike

要定义一个 16 位的位集,就像这样:

std::bitset<16> bs(0x123);

如果让我设计一个bitset类,我大概会这样:

mine::bitset bs(16, 0x123);

std::bitset 是由模板实现的有什么原因吗?

这是我们应该在某些情况下应用的好模式吗?

最佳答案

Is there any reason that std::bitset is implemented by template? Is this a good pattern that we should apply in some situations?

因为 std::bitset被设计成一个静态位集。在某些情况下,编译时大小将非常有助于优化您的程序,尤其是对编译器而言。如果你想要一个动态 位集,你可以使用 boost::dynamic_bitset .就像有 std::arraystd::vector 一样,静态大小的容器和动态大小的容器总有一个位置。

关于c++ - 为什么bitset要用template来实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21329879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com