Форум программистов, компьютерный форум CyberForum.ru

Ссылочный тип - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужен пример шейкерной сортировки http://www.cyberforum.ru/cpp-beginners/thread369785.html
Написать программу шейкерной сортировки по возрастанию.Алгоритм представляет собой улучшеную пузырьковую сортировку , использующий "всплытие легкого" и "погружение тяжелого" элементов. Меняются одновременно и правая и левая границы массива.Никак не могу понять что делать..
C++ Использование функции. помогите переделать программу нужно использовать функцию #include <math.h> #include <iostream.h> #include<fstream.h> main() { ifstream fin("1.in"); http://www.cyberforum.ru/cpp-beginners/thread369784.html
C++ Обратный метод пузырька
Написать программу сортировки массива по возрастанию методом "погружения " наибольшего ("тяжелого") элемента(метод пузырька в обратную сторону ). Непонятно как это сделать..
Фибоначиев поиск C++
Дано множество из N=18 элементов.Найти элемент(ключ) к=33. Элементы массива вводить с клавиатуры по возрастанию. как это сделать с помощью Фибоначиева поиска?? Ребят кто знает?Просто вообще не ясно, что делать..
C++ Определить минимальное значение n>0, для которого очередное слагаемое по модулю не превышает eps http://www.cyberforum.ru/cpp-beginners/thread369769.html
Формулировка задания: "Определить минимальное значение n>0, для которого очередное слагаемое по модулю не превышает eps>0 при нахождении результата согласно формуле" P.S.: формула на картинке во вложениях Еще бы хотелось, если это возможно, поподробнее узнать про математическую постановку задачи. Заранее спасибо!
C++ Параллелограм, окружность, синусоиду изобразить графически Здравствуйте господа программисты, посоветуйте учебник или какой либо материал почитать о графических возможностях C++. необходимо простейшие функции - параллелограм, окружность, синусоиду изобразить графически. какие заголовочные файлы подключать и тп. спасибо. подробнее

Показать сообщение отдельно
mikhail_g
187 / 142 / 4
Регистрация: 02.05.2011
Сообщений: 467
21.10.2011, 09:32     Ссылочный тип
В обоих вариантах внутри функции создаются локальные экземпляры переменных-аргументов, которые уничтожатюся после завершения работы функции.

В первом случае вы передаете адреса ячеек памяти в которых хранятся переменные, поэтому внутри функции создаются НЕ ССЫЛКИ А УКАЗАТЕЛИ на область памяти. Далее можно применить оператор * - разыменования адреса, и получить доступ к значению самой переменной и далее изменить его. Этот вариант используется если ваша функция должна иметь полный доступ (запись/чтение) к переменным объявленным вне тела функции, например к глобальным переменным, или переменным объявленным в теле вызывающей функции.

Во-втором случае внутри функции создаются экземпляры перемнных-аргументов заданных типов инициализированные значениями передаваемых аргументов. В этом случае на внешние переменные мы повлиять никак не можем. Вот вам пример:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void sum (int *sum, int a, int b)
{
*sum=a+b;
}
 
int sum2 (int a, int b)
{
return (a+b);
}
 
void main ()
{
int sum, a, b;
sum=sum2(a+b);
sum(&sum, a, b)
}
Добавлено через 37 секунд
Ссылки в VB
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru