小编Doo*_*nyx的帖子

如何获取具有不同位集大小的位集 OR

当我使用时,

  std::bitset<5> op1 (std::string("01001"));
  std::bitset<5> op2 (std::string("10011"));

  std::cout << (op1|=op2) << std::endl;  
Run Code Online (Sandbox Code Playgroud)

显然一切都很好。

但我的问题是,如何使用两个不同大小的“std::bitset”进行 OR 运算?例如,

  std::bitset<11> op1 (std::string("101110011"));
  std::bitset<5> op2 (std::string("01001"));

  std::cout << (op1|=op2) << std::endl;
Run Code Online (Sandbox Code Playgroud)

我无法在 VS 2012 中编译此代码。我在这里错过了什么?我不能使用不同大小的位集进行“或”运算(以及“异或”运算)吗?这是平台特定的问题吗?

c++ binary bit bitset

5
推荐指数
1
解决办法
2906
查看次数

为什么'虚拟'继承不是默认行为?

我理解在从基类派生时使用virtual关键字的要求,以避免与钻石继承相关的歧义问题.

但是,我的问题是,为什么这不是C++中导出类时的默认行为,无论钻石问题是否存在或不存在?

在没有钻石继承的情况下,使用'virtual'关键字是否有"伤害"?

c++ virtual inheritance multiple-inheritance diamond-problem

3
推荐指数
1
解决办法
363
查看次数