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

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

Войти
Регистрация
Восстановить пароль
 
Infernal92
0 / 0 / 0
Регистрация: 22.01.2014
Сообщений: 20
#1

Отличие int от int& - C++

22.01.2014, 17:08. Просмотров 1167. Ответов 10
Метки нет (Все метки)

Расскажите пожалуйста в чем отличие int от int&. Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.01.2014, 17:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Отличие int от int& (C++):

В чем отличие int &f( ) от int f( ) - C++
Что такое int & и чем отличается от int ? #include <iostream> using std::cout; using std::endl; int some(int i) { return...

Напишите функцию f(int& m1, int& m0, int N), которая воз- вращает первую и последнюю цифры двузначного натурального числа N - C++
Напишите функцию f(int& m1, int& m0, int N), которая воз- вращает первую и последнюю цифры двузначного натурального числа N. Решение. ...

Как передать 0 в функцию типа f (int, int&) - C++
Подскажите, почему при повторных вызовах f остается предыдущее значение S? Т.е. не обнуляется в теле f - {...s=0...} и как его обнулить?...

Error LNK2019: unresolved external symbol "public: __thiscall Vector<int>::Vector<int>(int,int,int)" (?0?$Vec - C++
Вот есть заголовочный файл // Заголовочный файл Vector.h #ifndef VECTOR_H #define VECTOR_H #include &lt;iostream&gt; using...

в чем разница между void f(int &n) и void f(int &&n) - C++
:help:

Ошибка при компиляции error: cannot convert ‘int (*)[5]’ to ‘int**’ for argument ‘1’ to ‘void Replase(int**)' - C++
#include &lt;iostream&gt; #include &lt;ctime&gt; #include &lt;iomanip&gt; #include &lt;cstdlib&gt; #define row 5 #define col 5 using namespace...

10
MrGluck
Модератор
Эксперт CЭксперт С++
7423 / 4538 / 673
Регистрация: 29.11.2010
Сообщений: 12,319
22.01.2014, 17:10 #2
int - тип данных int
int& - тип данных это ссылка на int
переменные, переданные по ссылке без const можно изменять (это как разыменованный указатель) и тогда будет меняться переданный объект.
когда мы меняем переменные, переданные по значению, то переданный объект не меняется, работа идет с его копией.
1
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
22.01.2014, 17:12 #3
Цитата Сообщение от Infernal92 Посмотреть сообщение
Расскажите пожалуйста в чем отличие int от int&. Заранее спасибо.
int - это целочисленный тип, а int& - это ссылка на тип int. То есть int& a; - a будет указателем на переменную типа int. Поправьте, если не права.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7423 / 4538 / 673
Регистрация: 29.11.2010
Сообщений: 12,319
22.01.2014, 17:14 #4
Цитата Сообщение от Тамика Посмотреть сообщение
- a будет указателем на тип int.
*a будет указателем на тип int.
a будет ссылкой на переменную, имеющую тип int.
1
zss
Модератор
Эксперт С++
6486 / 6049 / 1987
Регистрация: 18.12.2011
Сообщений: 15,690
Завершенные тесты: 1
22.01.2014, 17:49 #5
Цитата Сообщение от MrGluck Посмотреть сообщение
*a будет указателем на тип int.
По моему,
&a будет указателем на тип int.
1
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
22.01.2014, 18:00 #6
Цитата Сообщение от MrGluck Посмотреть сообщение
*a будет указателем на тип int.
a будет ссылкой на переменную, имеющую тип int.
А разве *а - это не разыменовывание? Ну, то есть это ж "вытаскивание" значение переменной?
0
Ev[G]eN
iOS/Android Developer
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
22.01.2014, 18:05 #7
Цитата Сообщение от Тамика Посмотреть сообщение
А разве *а - это не разыменовывание?
ну Вы же изначально его объявляете как
C++
1
int *pointer;
или здесь Вы тоже что-то "вытаскиваете"?
0
Тамика
Котовчанин
912 / 455 / 145
Регистрация: 16.02.2010
Сообщений: 3,144
Записей в блоге: 27
22.01.2014, 18:06 #8
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
ну Вы же изначально его объявляете как
C++
1
int *pointer;
или здесь Вы тоже что-то "вытаскиваете"?
Ну, при объявлении - да.
0
MrGluck
Модератор
Эксперт CЭксперт С++
7423 / 4538 / 673
Регистрация: 29.11.2010
Сообщений: 12,319
22.01.2014, 18:15 #9
Цитата Сообщение от zss Посмотреть сообщение
По моему,
&a будет указателем на тип int.
Верно, моя ошибка.
Правильнее даже сказать так:
&a будет указателем на переменную типа int. То бишь &a будет хранить адрес переменной, на которую ссылается a.
0
castaway
Эксперт С++
4885 / 3020 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
22.01.2014, 18:20 #10
C++
1
2
3
int i; // переменная типа int
int & ri = i; // ri - ссылка на переменную типа int
int * pi = &i; // pi - указатель на переменную типа int
0
Chudakulli
1 / 1 / 0
Регистрация: 16.02.2013
Сообщений: 57
22.01.2014, 18:40 #11
C++
1
2
3
int i; // переменная типа int
int & ri = i; // ri - ссылка на переменную типа int
int * pi = &i; // pi - указатель на переменную типа int
Здесь ri - второе имя для переменной i (ссылка на i, её псевдоним)
0
22.01.2014, 18:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2014, 18:40
Привет! Вот еще темы с ответами:

В каком случае надо начинать с int main() или с int _tmain( int argc, _TCHAR* argv[] ) и т.д.? - C++
Не понимаю, с чего начинать. Заранее спс.

Ошибка: Cube::Cube(Cube &&)': cannot convert argument 1 from 'int' to 'int *[]' - C++
Не могу разобраться. Есть массив : int indices = { 1,2,3, 4,5,6 }; У класса конструктор: Cube(int indices);

[Linker Error] Unresolved external 'Sort(int near*near ,int, int) - C++
не могу понять в чем ошибка при компиляции ошибок не выдает при запуске программы - выдает эту ошибку Unresolved external 'Sort(int...

[Linker error] undefined reference to `sterling(int, int, int)' - C++
#include &lt;iostream&gt; using namespace std; int sterling(int,int,int); int sterling(int,int); int sterling(int); int main() { ...


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

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

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