Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.82
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
#1

Что значит new () - C++

24.12.2011, 15:21. Просмотров 1562. Ответов 6
Метки нет (Все метки)

Случайно ошибся и написал
C++
1
double *F1 = new double (count);
вместо
C++
1
double *F1 = new double [count];
компилятор не выдал ошибки,но приложение не работало. что значит new double()?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.12.2011, 15:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Что значит new () (C++):

Что значит Handle hf? Что в эту функцию нужно передавать - C++
мне нужно создать функцию Node * ReadNode(HANDLE hf); (Node это структура) Так вот вопрос в том что значит Handle hf? Что в эту функцию...

Sleep(8000) - что значит? На что можно заменить в борланд с++? - C++
Не распознаёт Sleep(8000) . Если за комментировать пишет что f заданно но не используется. Как исправить? ...

Что значит ^= ? - C++
нашел в коде данную фичу (язык С) не понимаю что конкретно она выполняет пример из кода ... mistake ^= i+1; ...

Что значит ->? - C++
Наткнулся на непонятное место в непонятном коде. Оно показалось мне особенно непонятным, загуглить не получилось. Что значит: new...

Что значит? - C++
std::cout << (myCircle.pointInCircle(x, y) ? "In circle" : "Out of circle"); Что означет эта строчка?

что значит /= - C++
Бродил по форуму и наткнулся на вот такой синтаксис temp/=10; а что это значит

6
go
Эксперт С++
3587 / 1367 / 130
Регистрация: 16.04.2009
Сообщений: 4,527
24.12.2011, 15:28 #2
Почитайте про разные операторы new http://www.cplusplus.com/reference/std/new/operator%20new/
1
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
24.12.2011, 15:35  [ТС] #3
т.о. я выделял байты, а не определял длину массива
0
zss
Модератор
Эксперт С++
6864 / 6426 / 2147
Регистрация: 18.12.2011
Сообщений: 16,881
Завершенные тесты: 1
24.12.2011, 15:37 #4
В первом случае похоже выделится count байт,
а во втором count*sizeof(double) байт.
0
DU
1485 / 1131 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
24.12.2011, 15:47 #5
В первом случае похоже выделится count байт,
это неверно.

double *F1 = new double (count); - создает в памяти один объект типа double у которого значение будет равно count.

аналгния с пользовательскими типами:
MyClass* myClass = new MyClass(someArgument); - динамическое создание объекта типа MyClass (вызовится конструктор которому отдастся на вход someArgument).
2
go
Эксперт С++
3587 / 1367 / 130
Регистрация: 16.04.2009
Сообщений: 4,527
24.12.2011, 15:57 #6
Цитата Сообщение от zss2 Посмотреть сообщение
В первом случае похоже выделится count байт,
Нет, выделится все равно 8 байт.

Добавлено через 2 минуты
Цитата Сообщение от DU Посмотреть сообщение
создает в памяти один объект типа double у которого значение будет равно count.
Совершенно верно.

Добавлено через 4 минуты
Кстати, в этом случаи если ошибка, то new не бросит исключения в bad_alloc
0
DU
1485 / 1131 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
24.12.2011, 16:05 #7
Кстати, в этом случаи если ошибка, то new не бросит исключения в bad_alloc
это почему? для вызова некидающего исключения оператора, это нужно специально указывать:
http://www.cplusplus.com/reference/std/new/nothrow/
0
24.12.2011, 16:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2011, 16:05
Привет! Вот еще темы с ответами:

что значит ? - C++
что обозначает ? total += Добавлено через 2 минуты вот програма #include <stdio.h> #include <locale.h> #include <conio.h> ...

Что значит getch()-48? - C++
Что значит getch()-48?

a=*b Что это значит? - C++
Подскажите пожалуйста!

Что значит char c[10] - C++
объясните пожалуйста пошагово этот код #include <iostream> using namespace std; int main( ) { char c, c2;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru