assignment-operator

    0热度

    1回答

    有速记运营商为基本的算术运算符,如: x = x+2; x += 2; 或 y = y*2; y *= 2; 不过,我想知道是否有任何这样的操作可能简单地反转布尔值的值。 例如,假设z = true,有没有短相当于: z = !z; 我知道它不能只是!z,因为那将只是返回的z相反的价值,但它止跌”不会改变它的价值。 我知道我很懒惰,但我在代码中使用了很多,并试图尽可能优化它。我尽量

    -4热度

    2回答

    所以我似乎无法找出为什么我泄漏内存,任何人都可以帮忙吗?我已经实现了一个二叉搜索树operator=: BinTree& BinTree::operator=(const BinTree &other) { if (other.root == NULL) root = NULL; else { copyHelper(root, other.r

    6热度

    1回答

    的VisualStudio的2013编译器处理下面的代码就好了,但铿锵5.0和6.2给了我一个链接错误: #include <memory> using namespace::std; class IBase { public: virtual IBase& operator=(const IBase& other) = 0; }; class Base : virtu

    2热度

    2回答

    我想知道是否可以同时分配变量并将其用作函数的参数。 例如: number = 10 print(number*=2) 与输出是: >>>20 此外,如果这是重复: >>>40

    0热度

    1回答

    作为学校作业的一部分,我们必须创建一个抽象类并使用一个寄存器类来包含它们。抽象类有两个下类。 喜欢动物>狗/猫 在这个任务中,我们必须做一个赋值操作符,但是在使用我所做的那个之后,程序出了问题。 我制作了两个寄存器 r1; r2; 然后使用运营商 r2 = r1; ,并在程序退出时,它进入R1的destruktor,删除它,到达R2,并得到“访问冲突读取位置” 我猜这是因为运营商创建了一个从指针r

    1热度

    1回答

    上调用赋值运算符我不知道这个代码可以工作: struct my_array { int r[1000]; }; int main() { my_array foo, bar; foo = bar; } 因为foo = bar通话将调用构造函数提供的类,它会懒洋洋地运用它的每一个成员operator=。但是数组没有对operator=的实现,证明,这段代

    -7热度

    2回答

    我有产生不同的输出下面的两段代码: boolean a = false, b = false, c = false, d = false; if (a = false | (b = false) || (c = true) | (d = true)){ } System.out.println("if (a = false | (b = false) || (c = true) | (d

    0热度

    2回答

    我写下面的演示代码来学习复制构造函数和赋值运算符。但有一点混淆。我被告知删除赋值运算符中的指针并将新地址分配给data。不过,我只能让我的代码工作删除该行。我以this页为参考,但它仅显示int的示例,而不是int*。我怎么解决这个问题? #include <iostream> #include <string> #include <vector> #include <random> #i

    2热度

    2回答

    This article解释了为什么我有一个警告,如果我用这样的代码: var htmlCollection = document.getElementsByClassName("class-name"), i = htmlCollection.length, htmlElement; // Because htmlCollection is Live, we use a

    0热度

    1回答

    我写了一个不可变类Coords,只有两个成员 - const int x和const int y。但是,编译器希望我编写一个赋值运算符,从我所能收集的内容来看,它对于不可变类型是没有意义的。这里有一个例子: //location is a Coords* and Coords::DOWN is a static const Coords&. Coords& next = Coords(locat