小编Sri*_*h R的帖子

使用按位运算符的算术运算符

有没有办法通过使用ONLY位运算符执行加法(或算术运算)?

c c++

6
推荐指数
1
解决办法
3968
查看次数

带有自定义结构的<set>包含重复项

我一直在学习c ++.我遇到了这个问题.

设置了包含一个自定义结构,其中包含两个long int的a&b.我有一个比较数字的自定义比较器结构,如果a或b不同,则返回true.

typedef long int li;

struct number {
    number(li a1,li b1): a(a1), b(b1) {}
    li a, b;
};

struct compare {
    bool operator() (const number &lhs, const number& rhs) const{
        return lhs.a != rhs.a || lhs.b != rhs.b;
    }
};

int main() {
    set<number, compare> nums;
    nums.insert(number(1, 2));
    nums.insert(number(1, 1));
    nums.insert(number(2, 1));
    nums.insert(number(1, 2));
    for (auto &i : nums) {
        cout << i.a << " " << i.b << endl;
    }
    return 0; …
Run Code Online (Sandbox Code Playgroud)

c++ struct set comparator stdset

6
推荐指数
2
解决办法
664
查看次数

按位运算符的说明

我一直在对变量执行按位运算.

int p=3,q=5;
int a=~p,b=~q; //complement a and b
printf("%d %d\t%d %d",p,a,q,b);
Run Code Online (Sandbox Code Playgroud)

'b'的理论输出为10,如果签名,则必须为-2.但输出是-6.

有人可以解释一下它的工作原理吗?

c

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

标签 统计

c ×2

c++ ×2

comparator ×1

set ×1

stdset ×1

struct ×1