Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dalay_lama
77 / 77 / 16
Регистрация: 22.09.2012
Сообщений: 481
#1

Как лучше передавать значения в функцию? Ссылки vs указатели - C++

13.10.2013, 19:26. Просмотров 1047. Ответов 1
Метки нет (Все метки)

Всем доброго времени суток. Уважаемые гуру, подскажите пожалуйста, как лучше передавать значения в функцию, через указатель или ссылку? И если не лень будет объяснить почему) Мне лично кажется, что ссылки удобней применять, просто потому-что это удобней для восприятия.....лично мне......да и в учебнике Прата вычитал, что ссылки мол для того и были придуманы - "Основное назначение ссылок — их использование в качестве формальных аргументов функций. Применяя ссылку в качестве аргумента, функция работает с исходными данными, а не с их копиями." Хотя например через ссылку я не знаю как передать двумерный массив и не уверен, что это вообще можно (поправьте если не прав). Есть ли вообще какие-нибудь различия "под капотом", при использовании разных способов передачи значения в функцию? В общем, прошу кого-нибудь блеснуть эрудицией по этому вопросу) Буду очень благодарен за просвещение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2013, 19:26
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как лучше передавать значения в функцию? Ссылки vs указатели (C++):

Как лучше передавать аргумент в функцию - по ссылке или по указателю? - C++
Предположим, что нам нужно в функцию передать значение переменной чтобы по окончанию работы функции значение переменной изменилось. Меня...

Наследование vs Композиция vs Агрегация: что лучше выбрать? Как лучше передавать объекты в функции? - C++
Добрый день!! Дело вот в чём, я хочу создать класс, внутри которого будут созданы объекты других классов (реализованных в некоторой...

Ссылки и указатели на функцию - C++
Если передавать значение в функцию через указатель и ссылку,то в обоих случаях передаётся адрес,а не значение? И ещё: int *...

Передача в функцию - ссылки, указатели, константы - C++
Вот программа: #include <iostream> void fun(int &rhs) { rhs++; } int main()

Ссылки или указатели (Написать функцию , которая вычисляет гипотенузу, площадь и периметр прямоугольного треугольника) - C++
Написать функцию , которая вычисляет гипотенузу(корень квадратный из суммы квадратов катетов) , площадь и периметр прямоугольного...

Как передавать структуру в функцию? - C++
Вопрос глупый, возможно, но я совсем не понимаю, как. Есть у меня в программе стркутура: struct studentmark ...

1
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
13.10.2013, 19:44 #2
Цитата Сообщение от dalay_lama Посмотреть сообщение
как лучше передавать значения в функцию, через указатель или ссылку?
По большому счету разницы нет. Однако передавая указатель, (в месте вызова) сразу видно, что может быть изменение данных внутри функции, а передавая по ссылке - это менее очевидно:
C++
1
2
3
4
5
void f(int* p) { (*p)++; }
void g(int& p) { p++; }
int i = 42;
f( &i );  // указатель
g(i); // ссылка
Цитата Сообщение от dalay_lama Посмотреть сообщение
Хотя например через ссылку я не знаю как передать двумерный массив
C++
1
int (&a)[2][3] // ссылка на массив целых 2х3
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2013, 19:44
Привет! Вот еще темы с ответами:

Как правильно передавать указатель на функцию? - C++
Класс для очереди typedef unsigned size_t; template<typename T> struct List { T data; struct List<T>* next; ...

Как работают ссылки и указатели? - C++
Не нашел описание того, почему именно так работает, везде говорится только то, что так надо делать и все Аргумент функции является...

Указатели и ссылки. Как сохранить адрес? - C++
Небольшая путаница с указателями и ссылками. Допустим,есть некий указатель p1, который указывает на экземпляр класса a1 в динамической...

А как передавать аргументы и где их определять в функцию main() ? - C++
До сих пор, функция main() была без параметров, а тут пример: int main(int argc, char*argv) {} Без каких-либо подробных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru