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

Указатель и ссылка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Обратная интерполяция Лагранжа http://www.cyberforum.ru/cpp-beginners/thread296033.html
Помогите пожалуйста нужно найти все значения х по заданному у=1.5 float x = {1,2,3,4,5}; float y = {1.35,-4,0.97,-2,7.2};
C++ Построение бинарного дерева на основе не бинарного В лабораторной работе есть такое задание: Создайте процедуру построения бинарного дерева на основе не бинарного. Объясните как вообще создавать эти деревья и что необходимо реализовать в задании. http://www.cyberforum.ru/cpp-beginners/thread296022.html
Текстовые файлы в С++ C++
Помогите написать программу которая определяет количество слов в каждой строке, и нужно сжать каждую строку, удалив все лишние пробелы
C++ Программа линейной и разветвленной структуры
есть пара задачек. у меня началась практика нужна реальная помощь или сикир-башка 1. Даны три точки A, B, C на числовой оси. Точка C расположена между точками A и B. Найти произведение длин отрезков AC и BC. 2. Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное....
C++ Программы линейной и разветвленной структуры http://www.cyberforum.ru/cpp-beginners/thread295998.html
есть пара задачек. у меня началась практика нужна реальная помощь или сикир-башка 1. Даны три точки A, B, C на числовой оси. Точка C расположена между точками A и B. Найти произведение длин отрезков AC и BC. 2. Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное....
C++ Программы линейной и разветвленной структуры в си++ есть пара задачек. у меня началась практика нужна реальная помощь или сикир-башка 1. Даны три точки A, B, C на числовой оси. Точка C расположена между точками A и B. Найти произведение длин отрезков AC и BC. 2. Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное.... подробнее

Показать сообщение отдельно
Evg
Эксперт С++Автор FAQ
 Аватар для Evg
16828 / 5249 / 321
Регистрация: 30.03.2009
Сообщений: 14,136
Записей в блоге: 26
15.05.2011, 14:56     Указатель и ссылка
По поводу пункта 3.

Вызов функции ch1(pa) раздублируй (т.е. поставь чтобы два раза подряд вызвалась одна и та же функция). В конце функции ch1 поставь код pa1 = NULL; Запусти пример. Сравни результат работы в вариантах "void ch1 (int *pa1)" и "void ch1 (int& *pa1)" (т.е. с ссылкой и без ссылки)

Если увидишь разницу, но не поймёшь причину, то проблема скорее всего будет из-за того, что закипает мозг из-за комбинации указателя с ссылкой. В таком случае удобно поступать так, что делается typedef и вся работа с указателем заменяется на typedef. Типа вместо

C
1
2
3
4
5
void ch1 (int *pa1)
{
        *pa1=*pa1+10;
        cout<<"pa1="<<*pa1<<endl;
}
написать

C
1
2
3
4
5
6
typedef int* addr_t;
void ch1 (addr_t pa1)
{
        *pa1=*pa1+10;
        cout<<"pa1="<<*pa1<<endl;
}
Но заменить надо ВЕЗДЕ, чтобы эта несчастная звёздочка не мельтешила перед глазами, а перед глазами была более понятная конструкция addr_t
 
Текущее время: 11:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru