Итак, сразу после выполнения этой функции свопинга все значения в моем массиве идут до -858993460. Почему это число? Я думаю, что так я объявляю свой массив, но не является указателем, объявляя его таким образом? Я пытаюсь понять, почему это так. ну вот код:Перемещение по значениям ссылочного массива
int* arrayCreate()//added mg
{
int a[] = { 3, 7, 4, 9, 5, 2 };
return a;
}
void Sort::Insert()
{
int t = 0;
//start clock
clock_t start = clock();
d = arrayCreate();
size = 6;
for (int i = 1; i< size; i++)
{
t = i;
while (((t - 1) >= 0) && (d[t] < d[t- 1]))
{
//Swap
Swap(d[t], d[t- 1]); // right after this call
//the debugger says values go to - 8e^8
t--;
}
}
}
void Sort::Swap(int& n1, int& n2)
{
int temp = n1;
n1 = n2;
n2 = temp;
}
Выполнение некоторых тестов Я понимаю, если да: \t int * a = new int [6]; \t a [0] = 3; a [1] = 7; a [2] = 4; a [3] = 9; a [4] = 5; \t a [5] = 2; Это не испортит массив после свопинга. Но почему? Мне так любопытно, что я действительно должен знать. – zissler