Показать сообщение отдельно
Старый 04.05.2012, 01:35   #7
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: Передача массива в функцию по ссылке

Зачем const если я хочу переписать массив в функции? Или это никак ни связанно?
В таком случае может быть целесообразно сделать константным сам указатель (элементы при этом менять можно)
void myfunc(vector<int> *const vectors,int num_vectors)
Имя массива и есть указатель на начало массива (иными словами - массив всегда "передаётся по ссылке").
Помимо вариантов HolyDel, в которых синтаксически явно подчёркивается "адресная природа" массива, можно использовать и другое описание, соответственно:
void myfunc(D3DXVECTOR3 arr[size_arr])
где size_arr константа, или:
void myfunc(D3DXVECTOR3 arr[])
;
для двумерного:
void myfunc(D3DXVECTOR3 arr[size_arr_x][size_arr_y])
где size_arr_x и size_arr_y константы, или
void myfunc(D3DXVECTOR3 arr[][size_arr_y])
где size_arr_y константа.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
HolyDel (04.05.2012), Mind (04.05.2012)