Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Передача параметров функций в C++

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Danilka_
Гость





СообщениеДобавлено: Вт Апр 20 2004 14:47    Заголовок сообщения: Передача параметров функций в C++ Ответить с цитатой

ПОМОГИТЕ!!!
Такая ситуация: в основной функции есть 2-х (или более) мерный массив. Его нужно передать в обрабатывающую функцию в качастве параметра. Соответсвенно при его изменении в этой функции должен меняться и массив в основной функции...
КАК ЭТО СДЕЛАТЬ? КАК ЭТО ДОЛЖНО ВЫГЛЯДЕТЬ? (в С++ Builder)
Вернуться к началу
grayrat



Зарегистрирован: 30.06.2003
Сообщения: 189

СообщениеДобавлено: Вт Апр 20 2004 15:05    Заголовок сообщения: Ответить с цитатой

Читай в хелпах или в любой книжке по С/С++ раздел "передача параметров в функцию"

Можно использовать передачу по ссылке, можно через указатель.
Когда функция должна модифицировать вызываемую переменную то лучше использовать второй способ. В том смысле что он нагляднее. Запись func( &a ) сразу говорит что мы передаём адрес переменной, и она будет модифицирована. Если переменную модифицировать не нужно то лучше использовать константную ссылку. В этом случае вызов выглядит без подвохов, как и при передаче параметра по значению: func(a). Если переменная занимает в памяти несколько байт, не содержит конструктора и не должна быть модифицирована, то нет смысла передавать её как константную ссылку, лучше передать по значению. Эта идеология упрощает анализ кода и позволяет избежать некоторых ошибок.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
droopy
Гость





СообщениеДобавлено: Вт Апр 20 2004 16:25    Заголовок сообщения: Ответить с цитатой

void func( int **array )
{
array[0][0] = 1;
}
так при помощи 2мерного массива. Не забудь память выделить.
есть еще vector
#include <vector>
using namespace std;
vector< vector< int > > vec;
void func( vector< vector< int > > &vec )
{
vec[0][0] = 1;
}
main()
{
func( vec );
}
Вернуться к началу
droopy
Гость





СообщениеДобавлено: Вт Апр 20 2004 16:29    Заголовок сообщения: Ответить с цитатой

в примере с вектором не забудь его инициализтровать.
вообще почитай Страуструпа.
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...