8.5.13 Объединения

8.5.13 Объединения

Объединение можно считать структурой, все объекты члены которой начинаются со смещения 0, и размер которой достаточен для содержания любого из ее объектов членов. В каждый момент времени в объединеии может храниться не больше одного из обектов членов. Объединение может иметь функции члены (включая конструкторы и деструкторы). Из объединения невозможно вывети класс. Объект класса с конструктором или деструктором не может быть членом объединения.

Объединение вида

union (* список_членов *);

называется безымянным объединением; оно определяет неменованный объект. Имена членов безымянного объединения долны отличаться от других имен в области видимости, в которой объединение описано; в этой области видимости они могут ипользоваться непосредственно, без обычного синтаксиса доступа к членам (#8.5). Например:

union (* int a; char* p; *); a = 1; // ... p = «asdf»;

Здесь a и p используются как простые переменные (не-члны), но так как они являются членами объединения, они имеют один и тот же адрес.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

Оператор объединения строк

Из книги автора

Оператор объединения строк Оператор объединения строк + позволяет соединить две строки в одну. Например, сценарий:s1 = "Java";s2 = "Script";s = s1 + s2;поместит в переменную s строку


Оператор объединения строк

Из книги автора

Оператор объединения строк Оператор объединения строк + позволяет соединить две строки в одну. Например, сценарий:s1 = "Java";s2 = "Script";s = s1 + s2;поместит в переменную s строку


8.17.5 Применение объединения маршрутов

Из книги автора

8.17.5 Применение объединения маршрутов Целью объединения маршрутов является исключение ненужной информации из удаленных таблиц маршрутизации. Провайдер может объединить маршруты, сведения о которых получены от его клиентской автономной системы.Как показано на рис. 8.25,


R.9.5 Объединения

Из книги автора

R.9.5 Объединения Объединение можно представить как структуру, все члены имеют нулевое смещения, а размер ее достаточно велик, чтобы вмещать любой из ее членов. В любой момент времени объединение может содержать только один член. В объединении могут быть функции-члены (в


Выражение объединения в SQL

Из книги автора

Выражение объединения в SQL В SQL Server объединение можно установить с помощью выражения эквивалентности между двумя полями, например:SELECT FirstName, LastName, OrderDate FROM tblOrder INNER JOIN tblCustomer ON tblOrder.CustomerID = tblCustomer.IDЭтот запрос SQL возвращает информацию обо всех клиентах, которые имеют заказы в


97. Не используйте объединения для преобразований

Из книги автора

97. Не используйте объединения для преобразований РезюмеХитрость все равно остается ложью: объединения можно использовать для получения "преобразования типа без преобразования", записывая информацию в один член и считывая из другого. Однако это еще более опасно и менее


10.5. Проблемы объединения

Из книги автора

10.5. Проблемы объединения Следующие разделы излагают различные аспекты объединений набора


10.5.6. Пример эффекта объединения

Из книги автора

10.5.6. Пример эффекта объединения Предположите, что столбец X в таблице T имеет эти значения столбца latin1:MufflerM??llerMX SystemsMySQLПредположите также, что значения столбца получены, используя следующую инструкцию:SELECT X FROM T ORDER BY X COLLATE collation_name;Следующая таблица показывает возникающий в


1. Операция объединения.

Из книги автора

1. Операция объединения. Для того чтобы реализовать операцию объединения двух отношений приходится использовать одновременно два оператора Select, каждый из которых соответствует какому-то одному из исходных отношений-операндов. И к этим двум базовым операторам Select


Объявление объединения

Из книги автора

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


Наборы, совместимые для объединения

Из книги автора

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


5.4 Друзья и Объединения

Из книги автора

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


5.4.6 Структуры и Объединения

Из книги автора

5.4.6 Структуры и Объединения По определению struct – это просто класс, все члены кторого открытые, то естьstruct s (* ...есть просто сокращенная записьclass s (* public: ...Структуры используются в тех случаях, когда сокрытие данных неуместно.Именованное объединение определяется как struct, в


5.4 Друзья и Объединения

Из книги автора

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


8.5.13 Объединения

Из книги автора

8.5.13 Объединения Объединение можно считать структурой, все объекты члены которой начинаются со смещения 0, и размер которой достаточен для содержания любого из ее объектов членов. В каждый момент времени в объединеии может храниться не больше одного из обектов членов.