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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2009, 19:59   #1
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию Непонятная строка

Читаю книгу, и там в качестве примера вот такие 2 строки:
Код:
double*pvalue = NULL;
pvalue = new double;
Не могу понять,как можно выделить память под сам тип double,что это за бред. Если кто знает,расшифруйте пожалуйста полностью эти 2 строки.

Последний раз редактировалось Golovastik; 26.08.2009 в 20:01.
Golovastik вне форума Ответить с цитированием
Старый 26.08.2009, 20:04   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Код:
double *pvalue = NULL;
Объявляется указатель на double и присваивается NULL (для очистки).
Код:
pvalue = new double;
Выделяется память под один элемент типа double и адрес присваивается указателю pvalue.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 26.08.2009, 20:18   #3
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию

Можно,самый маленький пример, с использованием этой строки строки. В книге с этим куском нет примера.
Код:
pvalue = new double;
Golovastik вне форума Ответить с цитированием
Старый 26.08.2009, 20:23   #4
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

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

int main()
{
double *pvalue = NULL;
pvalue = new double;

*pvalue = 3.5;
cout<<*pvalue<<endl;

delete pvalue;
cin.get();
}
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 26.08.2009, 20:34   #5
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию

Выделяется память с размером числа 3,5, или выделяется память с размером всего типа доубле 8 байтов, а потом освобождается?
Golovastik вне форума Ответить с цитированием
Старый 26.08.2009, 20:36   #6
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Выделяется память, размером в переменную типа double (8 байт).
Потом по этому адресу записывается число "3.5". Потом оно выводится и память освобождается.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятная проблема. ROD Компьютерное железо 17 05.09.2009 11:09
Непонятная ошибка. program123 Общие вопросы Delphi 12 12.04.2009 23:07
Непонятная ошибка RealSHELS Общие вопросы Delphi 16 24.10.2008 20:49
Строка состаяния или загрузачная строка Sergeu Мультимедиа в Delphi 8 27.08.2008 10:32