本文整理汇总了C++中Bitset::size方法的典型用法代码示例。如果您正苦于以下问题:C++ Bitset::size方法的具体用法?C++ Bitset::size怎么用?C++ Bitset::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Bitset
的用法示例。
在下文中一共展示了Bitset::size方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main() {
map<string, pair<int, int> > var;
stack<Bitset> val;
char buf[80], *p;
int n, x, y;
scanf("%d", &n);
for (int i = 0; i < n; ++i) {
scanf("%s%d%d", buf, &x, &y);
var[buf] = make_pair(x, y + 1);
}
scanf("%d", &n);
for (int i = 0; i < n; ++i) {
scanf("%s", buf);
x = strtol(buf, &p, 10);
if (*p == '\0') {
val.push(range(x, x + 1));
} else if (strchr("+-*/", buf[0]) == NULL) {
pair<int, int> snd = var[buf];
val.push(range(snd.first, snd.second));
} else {
Bitset rhs = val.top();
val.pop();
Bitset lhs = val.top();
val.pop();
if (buf[0] == '/' && rhs[0]) {
puts("error");
return 0;
} else {
Bitset ret;
for (int i = 0; i < (int)lhs.size(); ++i) {
if (!lhs[i]) {
continue;
}
for (int j = 0; j < (int)rhs.size(); ++j) {
if (!rhs[j]) {
continue;
}
ret.set(eval(i, j, buf[0]));
}
}
val.push(ret);
}
}
}
puts("correct");
return 0;
}
示例2:
TEST(Bitset, set)
{
Bitset<2> bs;
ASSERT_EQ(bs.size(), 2);
EXPECT_FALSE(bs[0]);
EXPECT_FALSE(bs[1]);
bs.set(0, true);
EXPECT_TRUE(bs[0]);
bs.set(0, false);
EXPECT_FALSE(bs[0]);
bs.set(1, true);
EXPECT_TRUE(bs[1]);
Bitset<82> bs2;
ASSERT_EQ(bs2.size(), 82);
EXPECT_FALSE(bs2[70]);
bs2.set(70, true);
EXPECT_TRUE(bs2[70]);
}