Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как строку использовать в объединении?

8.1K
22 марта 2007 года
Нео
48 / / 30.07.2006
Нужно объединение из строки и числа
Если написать так:
union
{
string s;
double v;
};
То на что-то жалуется. Как можно организовать такое объединение?
2
22 марта 2007 года
squirL
5.6K / / 13.08.2003
Цитата: Нео

Как можно организовать такое объединение?


никак. вы себе представляете, что такое объединение вообще?
и кстати, в будущем, на фразу

Цитата: Нео

То на что-то жалуется.


вы рискуете получить ответ: "тебе поможет кое-что".

3
22 марта 2007 года
Green
4.8K / / 20.01.2000
А как ты себе физически представляешь такое объединение?

P.S. Есть мысль, что объединения в С++ - это вообще зло.
26K
22 марта 2007 года
powt.63kvv
8 / / 08.03.2007
а если так:
 
Код:
union{
         char str[10];
         double v;
        }my_union;
2
22 марта 2007 года
squirL
5.6K / / 13.08.2003
Цитата: Green
А как ты себе физически представляешь такое объединение?.


дык есть мнение что "как-то тоак" представляет... или вообще никак :D

2
22 марта 2007 года
squirL
5.6K / / 13.08.2003
Цитата: powt.63kvv
а если так:
 
Код:
union{
         char str[10];
         double v;
        }my_union;


вопрос на засыпку. а зачем такое уродство нужно? ну компилятор, допустим, это схавает. но смысл этого?

26K
22 марта 2007 года
powt.63kvv
8 / / 08.03.2007
Цитата: squirL
вопрос на засыпку. а зачем такое уродство нужно? ну компилятор, допустим, это схавает. но смысл этого?



как зачем, получим обединение занимающее область памяти в 10 байт. что и требовалось чило v и массив символов str он же срока.

63
22 марта 2007 года
Zorkus
2.6K / / 04.11.2006
Цитата: powt.63kvv
как зачем, получим обединение занимающее область памяти в 10 байт. что и требовалось чило v и массив символов str он же срока.


Хорошо. Ты потратишь (если все таки сумеешь обмануть компилятор) 10 байт, там где рисковал было потратить 18. И зачем? Для чего ты планируешь использовать такую сущность практически, в какой сверхмеморикритичной области? Я не совсем понял, ты планируешь преобразования из символов в числа, и думаешь, что такой способ поможет? Твое дело, конечно, но лучше дал бы задачу более обще, что ты собираешься делать, а не просил помощи в конкретной сомнительной со всех точек зрения реализации. Возможно, существует намного более простое решение.

26K
22 марта 2007 года
powt.63kvv
8 / / 08.03.2007
Цитата: Zorkus
Хорошо. Ты потратишь (если все таки сумеешь обмануть компилятор) 10 байт, там где рисковал было потратить 18. И зачем? Для чего ты планируешь использовать такую сущность практически, в какой сверхмеморикритичной области? Я не совсем понял, ты планируешь преобразования из символов в числа, и думаешь, что такой способ поможет? Твое дело, конечно, но лучше дал бы задачу более обще, что ты собираешься делать, а не просил помощи в конкретной сомнительной со всех точек зрения реализации. Возможно, существует намного более простое решение.



дык, это.. я и не просил помощи.. )) вроде атор темы Нео.. Да и вобще чем массив символов то Вам не угодил.. Это по сути дела таже строка, работать с ним учень удобно и просто. опять же имхо..

3
22 марта 2007 года
Green
4.8K / / 20.01.2000
а почему 10 символов, а не 8 или 7, или 22 ?
502
22 марта 2007 года
Jail
550 / / 30.01.2007
Кинул глупость один, а напали на другого))) :D
powt.63kvv, тебе люди пытаются объяснить на кой фиг выделять область памяти под число двойной точности и строку(ну иль как ты сделал массив символов, что ясен ясень одно и тоже). Нет смысла! :D
8.1K
22 марта 2007 года
Нео
48 / / 30.07.2006
да, я понял. Наверное, лучше структуру с двумя полями?
А нужно это для того, чтобы использовать массив данных, каждый элемент которого является либо числом, либо строкой.
502
23 марта 2007 года
Jail
550 / / 30.01.2007
В зависимости от поставленной задачи,можно использовать массив структур:
 
Код:
static struct node {
       char [ ];
       double v;
} array[ ];

Или альтернатива массив указателей, каждый из которых будет указывать на определённый тип данных.
С десять раз прочитал твою строчку и никак не вникну, толь я туплю толи чё, зачём тебе плавающее число двойной точности и как его альтернатива строка???
3
23 марта 2007 года
Green
4.8K / / 20.01.2000
Цитата: Нео

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


Для чего такое может понадобиться?
У тебя явная ошибка в подходе к решению задачи.
Массив даже не по своим возможностям, а по логике вещей, не может содержать объекты не родственные, у которых нет чего-то общего.
Что объединяет твои числа и строки? Как ты собираешься использовать этот массив?

Цитата: Jail
В зависимости от поставленной задачи,можно использовать массив структур:
 
Код:
static struct node {
       char [ ];
       double v;
} array[ ];


Плохо. Не ясно какое поле валидно.

Цитата: Jail

Или альтернатива массив указателей, каждый из которых будет указывать на определённый тип данных.


Ещё хуже. Указатели на различные типы в один массив не засунешь.

502
23 марта 2007 года
Jail
550 / / 30.01.2007
Цитата:
Плохо. Не ясно какое поле валидно.


Я и не собирался тут прогу писать, просто набросал шаблон.
Я совершенно сам не понял зачем аффтору такая пара в программе?! Какой-то явно неправильный подход. :)

Цитата:
Ещё хуже. Указатели на различные типы в один массив не засунешь.


Согласен, сморозил тупость! Просто после прочтения строк аффтора поста, голова закружилась)))) :D

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог