【发布时间】:2016-10-10 19:02:10
【问题描述】:
对于以下两种情况,operator[]可以有两个定义吗?
My_bit_array[7] = true;bool x = My_bit_array[0];
这很有用,因为读取位和切换字节的 8 位之一 (uint8_t) 是不同的。这两种情况需要两种不同的定义。
【问题讨论】:
-
@Rakete1111:他好像在实现一个bitset,你不能返回一个bit的引用。
-
@Benjamin OP 可以返回对代理对象的引用,这有点像
std::bitset,对吧? -
看起来您正在尝试制作自己的
bitset。您可以查看standard one 了解他们是如何做到的。 -
@Rakete1111:是的,他可以做到,这就是答案的开始。