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

Передача значения и передача переменной - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 43, средняя оценка - 4.74
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
27.03.2010, 21:01     Передача значения и передача переменной #1
объясните мне разницу...и с кодами пожалуйста...думаю передача значений это через ссылки\указатели,а передача переменных-переменных

Добавлено через 2 минуты
у кого есть С++ за 21 день откройте пожалуйста страницу 272 и объясните , прошу а то не доходит
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
27.03.2010, 21:44     Передача значения и передача переменной #2
МедведЪ, что именно непонятно? Там пример простейшего ацессора. Скажи какой именно момент неясен
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
27.03.2010, 22:01     Передача значения и передача переменной #3
МедведЪ:
Не читай книги вечером тогда активность ГМ ниже, следовательно и доходит до понимания дольше.
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
27.03.2010, 22:42  [ТС]     Передача значения и передача переменной #4

Не по теме:

реально что ли?а я гвоорю че туплю


Цитата Сообщение от M128K145 Посмотреть сообщение
Скажи какой именно момент неясен
хорошо..передача значения и передача переменной, чем различаются
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
27.03.2010, 22:55     Передача значения и передача переменной #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream.h>
 
void f1(int &ovar);  //может изменить значение переданноей переменной, числа передавать нельзя
void f2(int ivar);   //не может изменить значение переменной.
 
int main(){
int a = 20;
int b = 40;
f1(a);      //int &ovar = a; в функции f1 создаётся ссылка на a
cout<<a;    //значение изменилось: 21
cout<<'\n';
 
f2(b);      //int ivar = b; в функции f2 создаётся переменная и ей присваивается значение из b 
cout<<b;    //значение не изменилось: 40
cout<<'\n';
 
 
 
return 0;
}
//может изменить значение переданноей переменной, числа передавать нельзя
void f1(int &ovar){
ovar++;    //значение переданной переменной изменится так как ovar это ссылка на неё.
}
 
//не может изменить значение переменной.
void f2(int ivar){
ivar++;   //изменение значение локального параметра: переменной, переданная переменная не изменит своего значения.
}
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
27.03.2010, 22:58  [ТС]     Передача значения и передача переменной #6
ну я понял..а что такое копия?для чего он вообще,что за временная копия
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
27.03.2010, 23:06     Передача значения и передача переменной #7
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream.h>
void f(int var);
int main(){
 
//int var = int(20);
f(int(20)); /*создается объект к которому не возможен доступ он используется только для инициализации var*/
//--------------------
return 0;
}
void f(int var){
cout<<var<<'\n';
}
maxik42
 Аватар для maxik42
4 / 19 / 3
Регистрация: 22.03.2010
Сообщений: 131
27.03.2010, 23:08     Передача значения и передача переменной #8
Цитата Сообщение от МедведЪ Посмотреть сообщение
объясните мне разницу...и с кодами пожалуйста...думаю передача значений это через ссылки\указатели,а передача переменных-переменных

Добавлено через 2 минуты
у кого есть С++ за 21 день откройте пожалуйста страницу 272 и объясните , прошу а то не доходит
Попробую обьяснить! когда нужно передать переменную по значению передаеться само значение! а когда нужно передать переменную по ссылке тогда передаеться адрес переменной!
Тоесть когда передаеться значение в функцию (не адрес) тогда создаеться только копия той передаваемой переменной в вызываемой функции. тоесть у нас в вызывающей функции переменная с тем значением и в вызываемой также. Здесь переменные не связаны и если переменная измениться в вызываемой функции то это не повлияет на переменную в вызывающей функции.

Теперь по ссылке! тут мы передаем саму ссылку - адрес той одной переменной которая находиться в вызывающей функции. и мы если будем менять ее в вызываемой функции будет меняться и та переменная что находиться в вызывающей функции!

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
main()//вызывающая функция.
{
   int  i=23;
 
   doSome(i);//передаем по значению
   doSome2(&i);//передаем адрес
}
 
doSome(int i)
{
   //тут i локальная переменная с тем же значением переданым. она не влияет на переменную i в main()
   ...i=23;
 
}
 
doSome(int *i)
{
   //тут i указатель на тип int (тоесть он содержит адрес переменной i в main() )
   ...*i=45;//если изменяем тут переменную, i измениться в main()
 
}
надеюсь обьяснил ясно!
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
27.03.2010, 23:18     Передача значения и передача переменной #9
То что написано про int(20): в ООП имеет больший смысл, но это объяснять неохото.

Добавлено через 4 минуты
Тем более вечер...
^Tecktonik_KiLLeR
 Аватар для ^Tecktonik_KiLLeR
1144 / 426 / 19
Регистрация: 23.06.2009
Сообщений: 6,141
Завершенные тесты: 1
27.03.2010, 23:18  [ТС]     Передача значения и передача переменной #10
большое вам спасибо
Цитата Сообщение от Genius Ignat Посмотреть сообщение
То что написано про int(20): в ООП имеет больший смысл, но это объяснять неохото.
ничего,сам прочтуЕсли дойдет конечно...
Цитата Сообщение от maxik42 Посмотреть сообщение
Попробую обьяснить! когда нужно передать переменную по значению передаеться само значение! а когда нужно передать переменную по ссылке тогда передаеться адрес переменной!
Тоесть когда передаеться значение в функцию (не адрес) тогда создаеться только копия той передаваемой переменной в вызываемой функции. тоесть у нас в вызывающей функции переменная с тем значением и в вызываемой также. Здесь переменные не связаны и если переменная измениться в вызываемой функции то это не повлияет на переменную в вызывающей функции.
я думал в эту сторону,но наоборот...все пре пре ясно!!спасибо еще раз за помощь
^Tecktonik_KiLLeR
27.03.2010, 23:18  [ТС]
  #11

Не по теме:

Цитата Сообщение от Genius Ignat Посмотреть сообщение
Тем более вечер...
понял намек

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.03.2010, 23:32     Передача значения и передача переменной
Еще ссылки по теме:

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

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

Или воспользуйтесь поиском по форуму:
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
27.03.2010, 23:32     Передача значения и передача переменной #12
Завтра напишу пример с классами и большими комментариями.

Добавлено через 10 минут
.......
Yandex
Объявления
27.03.2010, 23:32     Передача значения и передача переменной
Ответ Создать тему
Опции темы

Текущее время: 15:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru