Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Struct MouseState





{

int keys;

int x,y;

};

void GetMouseState(MouseState *p_mouse_state)

{

p_mouse_state->keys = …;

p_mouse_state->x = …;

p_mouse_state->y = …;

}

В этом случае в функцию передаётся указатель на структуру, которая может быть заполнена в функции:

void DisplayCursorInfo()

{

MouseState mouse_state;

GetMouseState(&mouse_state);

cout << “Mouse cursor x=” << cursor.x << endl;

cout << “Mouse cursor y=” << cursor.y << endl;

}

В данном случае объект структуры создаётся в клиентском коде и не требуется его копирование при возврате функции в противоположность возврату значения структуры.

Принципиальное отличие указателя от ссылки заключается в том, что указатель может иметь нулевое значение, то есть не указывать ни на какой объект. В то время как ссылка (при корректном использовании) всегда будет ссылаться на реальный объект.

Хорошим стилем является инициализация указателя, не указывающего ни на какой объект нулевым значением. Даже если это значение не планируется использовать реально – т.е. указатель планируется установить на требуемый объект, а затем использовать. В случае, если программистом будет допущена ошибка и указатель будет использован до того, как в него будет помещен адрес реального объекта, значительно проще будет обнаружить ошибку при обращении по нулевому адресу, чем по случайному адресу в памяти.

 







Дата добавления: 2015-08-12; просмотров: 349. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Неисправности автосцепки, с которыми запрещается постановка вагонов в поезд. Причины саморасцепов ЗАПРЕЩАЕТСЯ: постановка в поезда и следование в них вагонов, у которых автосцепное устройство имеет хотя бы одну из следующих неисправностей: - трещину в корпусе автосцепки, излом деталей механизма...

Понятие метода в психологии. Классификация методов психологии и их характеристика Метод – это путь, способ познания, посредством которого познается предмет науки (С...

ЛЕКАРСТВЕННЫЕ ФОРМЫ ДЛЯ ИНЪЕКЦИЙ К лекарственным формам для инъекций относятся водные, спиртовые и масляные растворы, суспензии, эмульсии, ново­галеновые препараты, жидкие органопрепараты и жидкие экс­тракты, а также порошки и таблетки для имплантации...

Конституционно-правовые нормы, их особенности и виды Характеристика отрасли права немыслима без уяснения особенностей составляющих ее норм...

Толкование Конституции Российской Федерации: виды, способы, юридическое значение Толкование права – это специальный вид юридической деятельности по раскрытию смыслового содержания правовых норм, необходимый в процессе как законотворчества, так и реализации права...

Значення творчості Г.Сковороди для розвитку української культури Важливий внесок в історію всієї духовної культури українського народу та її барокової літературно-філософської традиції зробив, зокрема, Григорій Савич Сковорода (1722—1794 pp...

Studopedia.info - Студопедия - 2014-2025 год . (0.008 сек.) русская версия | украинская версия