问题标签 [copy-assignment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
236 浏览

python - python assignment in array vs scalar

I have a 2D array A of shape (4,3), and a 1D array a of shape (4,). I want to swap the first two rows of A, as well as the first two elements in a. I did the following:

Apparently, it works for a, but fails for A. Now, the second row becomes the first row, but the first row remains unchanged. If I do the following:

Then, it seems to work. Why the first method doesn't work? (but works for a) Also, what's the difference between A_copy = A[0,:].copy() and A_copy = A[0,:]?

0 投票
1 回答
387 浏览

c++ - Gcc 使用 memcpy 进行隐式复制赋值运算符而不是成员复制

遵循 c++ 11 标准,我认为只要完成两个对象之间的分配,g++ 就会隐式地使用成员方式的副本。令人惊讶的是,我注意到与标准相反,g++ 似乎调用了一个大小为对象实际大小的 memcpy。下面是我的意思的一个片段。

在执行结束时,我希望“c”对象所在的内存是 {0x61, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00},但显然,在第一个位置(包含 0x61 ),实际上复制了一些“函数”函数数据的堆栈,这是不正确的,恕我直言。

你知道发生了什么吗?非常感谢您的努力。

0 投票
1 回答
116 浏览

c++ - 您可以使用复制赋值运算符创建一个新实例吗?

我正试图围绕 C++ 中的复制赋值运算符,我想知道如果对象为空,是否有办法创建一个新实例。

这是输出:

有什么我可以在我的代码中更改以使其工作的东西,还是我什至不应该尝试尝试的东西?

0 投票
1 回答
1923 浏览

python - 有没有更好的方法来为 numpy 数组标量分配新值?

我正在对 numpy 数组中的标量值进行一些快速计算。正如文档中所说,

使用数组标量的主要优点是它们保留了数组类型(Python 可能没有可用的匹配标量类型,例如 int16)...

但是有没有比这更好(更快,更简洁)的方法来为现有数组标量分配新值:

这可行但不是那么方便(我正在做其他算术并希望始终保留类型)。

由于明显的原因,这不起作用:

这也不是:

也不是这个:

更新:

根据下面的评论(谢谢),我现在意识到我实际上并没有使用数组标量。 x是一个零维数组。

以下是创建数组标量的方法:

或者简单地说:

0 投票
3 回答
247 浏览

c++ - 将类复制到未初始化的内存中是否安全?

我必须使用malloc来分配内存。我有一个需要自定义的自定义类operator=。假设它是A

我分配内存malloc

我知道我也可以使用placement new:

将自定义类复制到未初始化的内存是否安全?

谢谢

0 投票
1 回答
125 浏览

c++ - 不起作用复制赋值运算符

在我的代码中,我的复制赋值运算符遇到了问题。当我尝试在 my 中执行“=”运算符时,main()我的源数组 ( numArr) 的内容不会复制到我的目标数组 ( numArr2)。

然后,对于我的doubleCap()函数,一旦我的原始数组已满,我将尝试创建一个更大的双倍大小数组。但是,如果我 insert delete[] newArr,编译器将在我的数组中输出一些随机数。

这是我在 .cpp 中的代码

这是我的主要代码

输出不带行“delete[] newArr;”,

使用“delete[] newArr;”行输出,

0 投票
1 回答
111 浏览

c++ - 为什么 is_copy_assignable 的实现不起作用?

这是我对 is_copy_assignable 实现的尝试:

这是一次失败。

以下是测试用例:

他们都打印错误。

(然后我意识到 declval 与方便的 void_t - 当然还有 decltype - 可以用于类似的事情。)但我仍然不明白为什么这个不起作用。我想我们想测试是否const T&可以赋值T&(就像复制赋值运算符一样)。那么,为什么?

0 投票
2 回答
954 浏览

c++ - 复制构造函数中的递归调用

我按照三规则实现了一个类,但我遇到了崩溃。经过调试,我得出的结论是复制构造函数重复调用自身而不是调用相等运算符。为什么会这样?它不应该调用相等运算符吗?

0 投票
3 回答
863 浏览

python - python中的浅拷贝

我对浅拷贝的工作方式有点困惑,我的理解是当我们这样做时new_obj = copy.copy(mutable_obj)创建一个新对象时,它的元素仍然指向旧对象。

我感到困惑的例子 -

在浅拷贝中,不k[0]只是指向i[0]类似于赋值吗?不应该k[0]改变什么时候i[0]改变吗?

为什么我希望这些相同,因为 -

0 投票
1 回答
57 浏览

c++ - 复制赋值运算符,向量

我有这个保存值的向量(不在堆上!)

我想像这样实现复制赋值运算符:

我收到这些错误/警告:

怎么了??