изменение массива
подскожите пожалуста как? если возможно.
Насколько я понял, ты спрашиваешь, можно ли в ф-ю передать массив по значению. Но в C++ массивы передаются через указатель на первый элемент, и изменения массива внутри ф-ии всегда отразятся на "внешнем" массиве. Но можно, например, хранить массив в виде вектора, а его уже передавать в ф-ю, естественно, по значению.
в C++ массив можно передавать по ссылке на массив, а не только через указатель на первый элемент:
Код:
void func( type (&arg)[size] );
Это удобно использовать в частных специализациях шаблона для массивов.
Код:
void Func (vector <int> &Array)
{
Array [x] = ...;
}
{
Array [x] = ...;
}
Для изменение размера массива можно передать ссылку на указатель или указатель второго порядка.
Код:
void Resize1 (int* &Array, int NewSize)
{
Array = (int*) realloc (Array, sizeof(int)*NewSize);
}
void Resize2 (int **Array, int NewSize)
{
*Array = (int*) realloc (*Array, sizeof(int)*NewSize);
}
{
Array = (int*) realloc (Array, sizeof(int)*NewSize);
}
void Resize2 (int **Array, int NewSize)
{
*Array = (int*) realloc (*Array, sizeof(int)*NewSize);
}