TheChampion
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору odl455 Цитата: ага. тогда вопрос к Вам возможно ли передать массив в функцию по значению? | По значению, как это принято в традиционном понимании слова -- нет. Перед передачей массива его придется скопировать в другой массив. Или использовать vector. В случае с vector все просто, как и написал Swappp. Можно написать функцию, копурующую массив (или где-то ее найти): template<typename T> T* copy_array(T* source, size_t len) { T* res = new T[len]; for(size_t i = 0; i < len; i++) res[i] = source[i]; return res; } Тогда все элементарно: //... int arr[10]; //... int* cp_arr = copy_array<int>(arr, 10); f(arr); delete[] cp_arr; //... Главное - не забыть сделать delete[], а то будет утечка памяти. В пару copy_array можно организовать destroy_array (чтобы не забыть уничтожать): template<typename T> void destroy_array(T* arr) { delete[] arr; } |