Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/75: Рейтинг темы: голосов - 75, средняя оценка - 4.95
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
1

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

27.03.2010, 21:01. Показов 14457. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
объясните мне разницу...и с кодами пожалуйста...думаю передача значений это через ссылки\указатели,а передача переменных-переменных

Добавлено через 2 минуты
у кого есть С++ за 21 день откройте пожалуйста страницу 272 и объясните , прошу а то не доходит
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.03.2010, 21:01
Ответы с готовыми решениями:

Передача значения переменной в IplImage
Есть данные в файле с названием изображений которые нужно рассматривать. Данные названия получаю таким образом: std::string file1,file2; ...

Передача значения переменной по ссылке
Есть событие, которое происходит в методе someMethod, при выполнении которого программа вылетает. Методу someMethod нужно получить...

Передача значения переменной из родительского класса в дочерний
Приветствую. Есть код: class ychebnik { protected: int A; public: ychebnik(){}; void setDate(int a)

11
Эксперт JavaЭксперт С++
 Аватар для M128K145
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
27.03.2010, 21:44 2
МедведЪ, что именно непонятно? Там пример простейшего ацессора. Скажи какой именно момент неясен
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
27.03.2010, 22:01 3
МедведЪ:
Не читай книги вечером тогда активность ГМ ниже, следовательно и доходит до понимания дольше.
1
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
27.03.2010, 22:42  [ТС] 4

Не по теме:

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


Цитата Сообщение от M128K145 Посмотреть сообщение
Скажи какой именно момент неясен
хорошо..передача значения и передача переменной, чем различаются
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
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++;   //изменение значение локального параметра: переменной, переданная переменная не изменит своего значения.
}
1
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
27.03.2010, 22:58  [ТС] 6
ну я понял..а что такое копия?для чего он вообще,что за временная копия
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
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';
}
2
 Аватар для maxik42
20 / 20 / 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()
 
}
надеюсь обьяснил ясно!
2
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
27.03.2010, 23:18 9
То что написано про int(20): в ООП имеет больший смысл, но это объяснять неохото.

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

Не по теме:

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

0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
27.03.2010, 23:32 12
Завтра напишу пример с классами и большими комментариями.

Добавлено через 10 минут
.......
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.03.2010, 23:32
Помогаю со студенческими работами здесь

Передача значения переменной из одной формы в другую
собственно, название темы говорит само за себя) пишу, мол, #include &lt;vcl.h&gt; #pragma hdrstop #include...

Передача значения переменной-члена из класса в функцию
Добрый день, имеется класс: class ZernPole{ public: ZernPole(int Zerno) { zpZerno=Zerno;...

Передача переменной
Можно ли сделать так, что бы переменные изменялись и в функции и в основной программе, а именно переменная osd в основной программе ...

Передача переменной в функцию
Здравствуйте. Подскажите пожалуйста как сделать следующее: есть класс: #pragma once #include &quot;Point2d.h&quot; #include...

Передача переменной в system() в С++
Как передать переменную в функцию system(), которая запускает команду в командной строке. system(variable_name ) - Ошибка ...


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

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

Редактор формул (кликните на картинку в правом углу, чтобы закрыть)
Новые блоги и статьи
Неблокируемый стек в C++26: реализуем простой сборщик мусора
stackOverflow 02.03.2025
Многопоточные приложения требуют надежных и производительных структур данных, способных эффективно работать в условиях конкурентного доступа. Неблокируемые структуры данных представляют собой особый. . .
Шаблон REQ/REP в ZeroMQ: сверхбыстрый обмен сообщениями в C++ и Python
stackOverflow 02.03.2025
Построение высоконагруженных распределенных систем требует надежного и производительного механизма обмена сообщениями. ZeroMQ выделяется среди прочих решений своей невероятной скоростью работы и. . .
Нестандартные приемы работы с итераторами в C++
stackOverflow 02.03.2025
Итераторы - один из краеугольных камней C++, предоставляющий универсальный механизм обхода и манипуляции данными в контейнерах. Появившись как замена небезопасным указателям, они эволюционировали от. . .
Лексический анализ и регулярные выражения в C++26
stackOverflow 02.03.2025
Лексический анализ - ядро любого компилятора и инструмента обработки текста. Каждый программист сталкивается с задачами парсинга строк, обработки файлов конфигурации или анализа пользовательского. . .
Подробно о std::mdspan в C++23
stackOverflow 02.03.2025
Работа с многомерными массивами данных традиционно была одной из сложных задач в C++. Программистам приходилось создавать собственные абстракции или использовать сторонние библиотеки для эффективной. . .
Колмогоровская сложность в C++: Путь к совершенному коду
stackOverflow 02.03.2025
Абстрактная математическая теория Колмогорова стала мощным средством оценки и улучшения программного кода. Сложность алгоритма - не только в его вычислительной эффективности, но и в том, насколько. . .
Изменения в C# 14
stackOverflow 02.03.2025
Одно из самых значимых изменений в C# 14 - поддержка коллекционных выражений, которые позволяют создавать и инициализировать коллекции с помощью нового лаконичного синтаксиса. Это нововведение. . .
Разработка кроссплатформен­­­­ного мобильного приложения для iOS/Android на C++
bytestream 02.03.2025
C++ как язык программирования высокого уровня с прямым доступом к аппаратным ресурсам позволяет создавать приложения, работающие одинаково быстро как на iOS, так и на Android устройствах. Ни для кого. . .
Аутентификация/авторизация на Golang
bytestream 02.03.2025
Go предлагает множество возможностей для создания надежных систем аутентификации. Встроенные криптографические пакеты, высокая производительность и простота параллельной обработки запросов делают его. . .
Нововведения TypeScript 5.8
bytestream 02.03.2025
TypeScript 5. 8 приносит много возможностей и оптимизаций, которые существенно расширяют границы типобезопасного программирования на JavaScript. Эта версия включает ряд значительных улучшений в работе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru