Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2016, 13:09   #101
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

я вот думаю, а что если в парадигму анион запихнуть обьект .???
RAFA91 вне форума Ответить с цитированием
Старый 06.07.2016, 13:13   #102
Croessmah
Вредный кошак
Участник клуба
 
Аватар для Croessmah
 
Регистрация: 14.10.2012
Сообщений: 1,159
По умолчанию

Цитата:
анион запихнуть обьект
а что, их там сейчас нет?

Кто украл объекты из union'ов у RAFA91? Молодец
Croessmah вне форума Ответить с цитированием
Старый 06.07.2016, 13:14   #103
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от RAFA91 Посмотреть сообщение
я вот думаю, а что если в парадигму анион запихнуть обьект .???
ну впихнется, и дальше что?
union по сути упрощение игры с указателями.
(через указатели можно тоже самое сделать, про прямой каст не помню, не извращался =D)

и да, union это тип.
слово парадигма имеет гораздо более широкое значение.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.07.2016, 13:28   #104
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

а конструктор тянет ?
RAFA91 вне форума Ответить с цитированием
Старый 06.07.2016, 13:33   #105
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

А причем тут конструктор?
p51x вне форума Ответить с цитированием
Старый 06.07.2016, 14:19   #106
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

я не понимаю до конца работу парадигмы анион.
RAFA91 вне форума Ответить с цитированием
Старый 06.07.2016, 14:28   #107
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

Нет такой парадигмы. Есть тип, как структура, только со своими особенностями.
p51x вне форума Ответить с цитированием
Старый 06.07.2016, 14:36   #108
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

давайте попробуем в нее загнать оюбект и посмотрим как это нам поможет

понять суть.
RAFA91 вне форума Ответить с цитированием
Старый 06.07.2016, 14:40   #109
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,706
По умолчанию

См. http://programmersforum.ru/showpost....6&postcount=82
Если вам там не нравится слово struct, то поменяйте на class
p51x вне форума Ответить с цитированием
Старый 06.07.2016, 14:51   #110
RAFA91
Заблокирован
 
Регистрация: 06.02.2011
Сообщений: 1,999
По умолчанию

Код:
#include <iostream>
using namespace std;

struct B
{
	int a;
	double b;
};

union A
{
	int a;
	double b;
	B c;
};

int main() 
{
	A a;
	a.a = 200;
	a.b = 300;

cout<<"a = "<<a.a<<endl;
cout<<"b = "<<a.b<<endl;

cout<<"sizeof = "<<sizeof(A)<<endl;

cout<<"a = "<<a.c.a<<endl;
cout<<"b = "<<a.c.b<<endl;

a.c.a = 600;
a.c.b = 500;

cout<<"sizeof = "<<sizeof(A)<<endl;

cout<<"a = "<<a.c.a<<endl;
cout<<"b = "<<a.c.b<<endl;

cout<<"a = "<<a.a<<endl;
cout<<"b = "<<a.b<<endl;

	return 0;
}

ну да. обьект класса не смешивает свои поля в единую память

a = 0
b = 300
sizeof = 12
a = 0
b = -4.10181e-42
sizeof = 12
a = 600
b = 500
a = 600
b = 2.96439e-321
RAFA91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Стандартные средства = бесконечный полет фантазии. Alex Cones Софт 2 27.07.2009 17:10
Мои статьи про работу программистов Юлия_shell Обсуждение статей 2 27.04.2009 18:41