C/C++

, . c++ -, - . . private. .

union _ {
	//   .
private:
	// .
} _;

C - private .

. ,

union tom {
	char ch;
	int x;
} t;
tom, ( ).

, , , "". "" .

. . . -. . , "" (=). , . ( , , .)

C++ , . . , - . , "" "".

union {
	int a;
	float f;
};

//...

a =10;	//   a
cout << f;	//   f
, - . , , (namespace), static.







2018-04-22 15:15:36 Зачем?

Можете привести пример практического применения объединений? Или хотя бы прокомментировать мою версию. Допустим, мы объединим две схожие структуры, а использовать будем только одну, с вероятностью 50 на 50, но точно не знаем какая пригодится, то для экономии памяти можно будет воспользоваться таким способом. Найдутся ли другие примеры?

2018-05-04 14:40:10 для работы с битами

typedef unsigned char byte; union{ int a; byte b[4]; }

2018-05-20 07:01:28 Тимур

В SDL они используются для событий. Это хороший выбор, на мой взгляд. http://wiki.libsdl.org/SDL_WindowEvent

2018-05-20 07:02:31 Тимур

Ошибся ссылкой. http://wiki.libsdl.org/SDL_Event

2018-05-20 07:04:47 Тимур

Можно добавить в описание, что размер объединения определяется размером его максимального члена.




Оставить комментарий:
Ваше Имя:
Email:
Антибот: *  
Ваш комментарий: