Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перегрузка операторов ввода вывода https://www.cyberforum.ru/ cpp-beginners/ thread631269.html
ребята болит уже голова)) main.cpp #include "myStr.h" int main() { myStr myS("ok"); cout<<myS<<endl;//надо чтоб заработало char x; cin>>x; return 0;
std::map нефикс. размер? C++
Нубо-вопрос, std::map и std::array имеют фиксированный размер, как и обычные массивы?
int / INT etc C++
Вопрос легок, в чем разница между обычным int и Виндовским INT / etc? Попрошу подробного ответа :)
C++ Почему антивирус считает эту программу вирусом? Компилирую и антивирус ее удаляет в карантин. Что это такое?:( #include <iostream> #include <windows.h> using namespace std; int main() { int a; int b; https://www.cyberforum.ru/ cpp-beginners/ thread631229.html
C++ Дано x,y,z Вычеслить a,b, если: https://www.cyberforum.ru/ cpp-beginners/ thread631215.html
a=(3+e^(y-1))/(1+x^2 |y-tg(z)| ) b=1+(y-x)+〖(y-x)〗^2/2+(y-x)^3/3
Трактри́са (линия влечения) C++
у кого-то есть реализация этой функции или же знаете библиотеку в которой есть такая реализация?
Массив испорчен C++
Испытывал сортировку Шелла: void TestSort::shellSort(int x, int size) { int inc, i, j, seq; int s; s = increment(seq, size); // вычисление последовательности приращений ...
C++ Структуры: Из ассортимента конфет, выбрать те, стоимость которых от 30 до 55 руб. за 1 кг Помогите решить это задание!!!! Пожалуйста:wall: Из ассортимента конфет, выбрать те, стоимость которых от 30 до 55 руб. за 1 кг. Указать срок их годности и номера магазинов, в которых они имеются в... https://www.cyberforum.ru/ cpp-beginners/ thread631189.html
C++ Найти количество и произведение положительных элементов массива, имеющих нечетный индекс https://www.cyberforum.ru/ cpp-beginners/ thread631185.html
помогите пожалуйста создать числовой массив А. Значение N задается константой. Выдать на экран количество и произведение положительных элементов,имеющих нечетный индекс.
C++ Вычислить сумму элементов выше главной диагонали матрицы ввести двумерный массив b . вычислить сумму элементов лежать выше главной диагонали матрицы и отобразить на экране. p. s помогите пожалуйста :) https://www.cyberforum.ru/ cpp-beginners/ thread631148.html
511 / 463 / 81
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
31.07.2012, 18:45 0

Передача по ссылке

31.07.2012, 18:45. Просмотров 1696. Ответов 5
Метки (Все метки)

Ответ

В последнем примере:

C++
1
2
3
4
5
6
int *swap(int x) // создается локальная переменная x (копия переданного аргумента)
{
          
    int *t = &x; // берется адрес этой локальной копии (не исходного x!!!)
    return t; // возвращается этот адрес
}
То есть в p лежит не адрес переменной x из main, а адрес локальной переменной x из функции swap (это разные переменные). Так вообще делать нельзя, поскольку автоматические переменные уничтожаются при выходе из функции. Т.е. не возвращайте ссылки или указатели на локальные переменные.

Выход - передать аргумент по ссылке, т.е.
C++
1
int *swap(int & x)
Тогда не будет локальных копий переменной.

Вернуться к обсуждению:
Передача по ссылке
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.07.2012, 18:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Передача auto_ptr по ссылке
Передача auto_ptr по ссылке противоречит концепции владения. Нельзя быть полностью уверенным в...

Передача значения по ссылке
Даны два файла: fun.cpp: #include &lt;math.h&gt; double summa(float x, float eps, double&amp; psl, int&amp; k)...

Передача указателя по ссылке
Так печатается &quot;12&quot; #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; void...

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

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