C++ 重载运算符+;用于合并阵列的方法失败
我试图理解复制和交换的习惯用法,但是当我使用C++ 重载运算符+;用于合并阵列的方法失败,c++,c++11,C++,C++11,我试图理解复制和交换的习惯用法,但是当我使用操作符+如哑数组c(a+b)或a=a+b时,我的程序崩溃了 #包括“stdafx.h” #包括 使用std::cout;使用std::endl; 类Dumb_数组{ int*_数组; 内部尺寸; 公众: 哑数组(大小) :_size(s),_数组(_size?new int[s]():nullptr){ 库特 该sizeof(int)不是必需的。您指向的是另一个数组末尾之外的内存位置。\u数组。正确的行应该是 std::copy(other._arra
操作符+
如哑数组c(a+b)
或a=a+b
时,我的程序崩溃了
#包括“stdafx.h”
#包括
使用std::cout;使用std::endl;
类Dumb_数组{
int*_数组;
内部尺寸;
公众:
哑数组(大小)
:_size(s),_数组(_size?new int[s]():nullptr){
库特
该sizeof(int)不是必需的。您指向的是另一个数组末尾之外的内存位置。\u数组。正确的行应该是
std::copy(other._array, other._array + _size, _array)
我希望这能解决您的问题。您应该了解如何使用调试器,这对解决这些问题很有帮助。调试器说了什么?您遇到了什么错误?非常感谢,它很有帮助。
std::copy(other._array, other._array + _size, _array)