1-1 Программирование С++ / html / modules / 021 / content / content2
.htmlІнформатика — Теорія — Анонімне об'єднання Автори
|
Контакти
|
Підсистема допомоги
|
Методичні вказівки
|
Анотація
|
Назад
ІнформатикаОб'єднання : Анонімне об'єднанняЗміст курсу
Вступ
Теорія
Застосування об'єднань
Анонімне об'єднання
Висновки
Версія для друку
Анонімне об'єднання Анонімне об'єднання являє собою об'єднання, у якого немає ім'я. C++ надає анонімні об'єднання, щоб спростити використання елементів об'єднань, призначених для економії пам'яті або створення псевдонімів для певного значення. Наприклад, припустимо, що в програмі потрібні дві змінні miles і meters. Крім того, припустимо, що програма використовує тільки одну з них в кожний даний момент часу. У цьому випадку програма могла б використовувати елементи об'єднання, подібного об'єднанню distance, а саме name.miles і name.meters. Наступний оператор створює анонімне (безіменне) об'єднання:
union
{
int miles;
long meters;
};.
Оголошення не використовує ім'я об'єднання й не повідомляє змінну об'єднання. Програма, у свою чергу, може звертатися до елементів з іменами miles і meters без допомоги крапки.
Приклад 1. Наступна програма створює анонімне об'єднання, що містить елементи miles і meters. Програма трактує елементи як звичайні змінні. Однак розходження між елементами й звичайними змінними полягає в тому, що, коли ви привласнюєте значення кожному із цих елементів, значення іншого елемента губиться.
#include <iostream.h>
void main()
{
union
{
int miles;
long meters;
};
miles = 10000;
cout << "Значення в милях " << miles << endl;
meters = 150000;cout << "Значення в метрах " << meters << endl;
}
За допомогою анонімного об'єднання програма може заощадити пам'ять, не використовуючи ім'я об'єднання й крапку для звертання до значень елементів.
© 2008 ХНУРЭ, Інформатики, Сінельнікова Т.Ф., informatika@kture.Kharkov.uaРозроблено за допомогою LERSUS