Помощь - Поиск - Пользователи - Календарь
Полная версия: Передача массивов в функцию
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Ада и другие языки
first_day
Как передавать в функцию пользователя вектор? Вообще, какой принцип передачи массивов?
Спасибо smile.gif
volvo
Массив твой или какой-нибудь вектор STL-ный? Если твой - то любым из способов:

void f(int *a) {
// void f(int a[]) {
for(int i = 0; i < 10; i++) {
a[i] = i;
}
}

int main() {
int arr[10];

// можно так
// f(arr);

// а можно - адрес первого элемента
f(&arr[0]);

for(int i = 0; i < 10; i++) {
cout << arr[i] << endl;
}

return 0;
}
Если вектор - то по ссылке (когда надо получать измененное значение) или по значению, когда не надо:
void f(vector<int>& vec) {
...
}


или
void f(vector<int> vec) {
...
}
first_day
Ясно, спасибо.
А можно как-то очистить не весь вектор, а один элемент?
volvo
Что значит "очистить"?
first_day
ну удалить... т.е. если вектор состоял из, например, 4х элементов, то удалив один, останется 3.
volvo
Из вектора данные удаляются методом vector::erase()...
first_day
Спасиб
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.