Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
 Аватар для Игорюня
20 / 16 / 11
Регистрация: 07.12.2013
Сообщений: 244

Ссылки и указатели на функцию

25.03.2014, 12:15. Показов 877. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Если передавать значение в функцию через указатель и ссылку,то в обоих случаях передаётся адрес,а не значение?

И ещё:

C++
1
2
3
4
5
int * function1(int a)
{
a=10;
return a;
}
C++
1
2
3
4
5
int * function2(int a)
{
a=10;
return & a;
}
Почему первая функция верна,хотя вроде бы нужно указывать оператор адресации?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.03.2014, 12:15
Ответы с готовыми решениями:

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

Как лучше передавать значения в функцию? Ссылки vs указатели
Всем доброго времени суток. Уважаемые гуру, подскажите пожалуйста, как лучше передавать значения в функцию, через указатель или ссылку? И...

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

12
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
25.03.2014, 12:18
Цитата Сообщение от Игорюня Посмотреть сообщение
Почему первая функция верна,
она не верна
просто размер указателя и размер int совпадают
в результате она вернет указатель на адрес 10
а что там лежит, кто знает
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
25.03.2014, 12:19
Цитата Сообщение от Игорюня Посмотреть сообщение
Почему первая функция верна,хотя вроде бы нужно указывать оператор адресации?
видимо происходит неявное преобразование из int в указатель на int
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
25.03.2014, 12:20
да и вторая не верна
возвращаешь адрес локальной переменной, к чему это приведет ? неизвестно
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
25.03.2014, 12:21
Цитата Сообщение от Игорюня Посмотреть сообщение
то в обоих случаях передаётся адрес,а не значение?
да
Цитата Сообщение от Игорюня Посмотреть сообщение
Почему первая функция верна
Что значит "функция верна"? Сформулируй мысль.
1
 Аватар для Игорюня
20 / 16 / 11
Регистрация: 07.12.2013
Сообщений: 244
25.03.2014, 12:24  [ТС]
На неё компилятор не ругается и в книге есть аналог.
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
25.03.2014, 12:28
Цитата Сообщение от Игорюня Посмотреть сообщение
На неё компилятор не ругается
Задай ему правильные опции - должен заругаться.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
25.03.2014, 12:30
Цитата Сообщение от Игорюня Посмотреть сообщение
На неё компилятор не ругается
есть много на что компилятор не ругается, но ведет себя не так как надо
Цитата Сообщение от Игорюня Посмотреть сообщение
книге есть аналог.
что за книга? дословно цитату
0
 Аватар для Игорюня
20 / 16 / 11
Регистрация: 07.12.2013
Сообщений: 244
25.03.2014, 13:39  [ТС]
C++
1
2
3
4
5
int * function(int * a)
{
    *a=10;
    return  a;
}
Затупил.Функция приняла указатель поэтому адресация не нужна.Не придал значения по началу.

Добавлено через 1 час 6 минут
Vourhey, а адреса как и значения помещаются в стеки при передачи в функцию?
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
25.03.2014, 13:42
Цитата Сообщение от Игорюня Посмотреть сообщение
Vourhey, а адреса как и значения помещаются в стеки при передачи в функцию?
и да и нет
помешаются в стек, но техника несколько другая
это же тоже аргументы
вообще не правильно говорить в стек, правильно в автоматическую память, некоторые компиляторы, при определенных условиях, загоняют аргументы не в стек а в регистры
0
 Аватар для Игорюня
20 / 16 / 11
Регистрация: 07.12.2013
Сообщений: 244
25.03.2014, 13:52  [ТС]
Просто пытаюсь понять,каким образом экономится память при передаче через адрес.Я имею ввиду функции принимающие и возвращающие стандартные,а не пользовательские типы,где используется копировщик и деструктор при передаче и возвращении как значение.
0
Модератор
Эксперт по электронике
8981 / 6748 / 921
Регистрация: 14.02.2011
Сообщений: 23,871
25.03.2014, 13:55
Цитата Сообщение от Игорюня Посмотреть сообщение
Просто пытаюсь понять,каким образом экономится память при передаче через адрес.
в общем случае никак
экономится только если передавать большие блоки( например структуры),где указатель меньше данных, а например при передаче char даже может увеличится
главное при передаче через указатели или ссылки, что работаешь с самой переменной, а не с копией
0
320 / 225 / 74
Регистрация: 22.11.2013
Сообщений: 867
Записей в блоге: 1
25.03.2014, 13:59
Игорюня, Не увлекайтесь этим понапрасну, а вообще зайдите вот сюда https://www.cyberforum.ru/blog... g2120.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.03.2014, 13:59
Помогаю со студенческими работами здесь

Ссылки и указатели
Добрый день, не могу понять чем помогают при использовании указатели и ссылки? Есть код на c++ #progma once class well { ...

Ссылки vs Указатели
Почему ссылки считаются более хорошим средством, чем указатели? Ведь если человек будет использовать сторонние классы, он может не...

Указатели и ссылки
Допустим, что есть функция, в которую мы кидаем массив по указателю и кол-ву элементов. void printArray(int *arr, int elements) ...

Ссылки и указатели
Всем привет. Совсем запутался с ссылками и указателями. Помогите решать задачку: Функция принимает два аргумента, число с плавающей...

Указатели и ссылки
Добрый день, есть вопросы по поводу указателей и ссылок в параметрах функций. Правильно ли я понимаю, что есть по сути 2 варианта, либо...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru