Форум программистов, компьютерный форум CyberForum.ru

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

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

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

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

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

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

C++ Что значит запись - C++
Скажите, пожалуйста, что означает эта запись? Идет цикл, а дальше я не знаю, что значат эти числа 65 и 122? Разъясните, пожалуйста,...

что значит ошибка: - C++
фаил компилирую, отдельно от .h-a. вот и cpp и h. оба в одной директории.

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

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

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

Что значит указатель **? - C++
есть код, его я разобрал, но меня пугает выражение указателя ** - прошу помочь разобраться или отослать почитать про это. Спасибо! ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
24.12.2011, 15:28     Что значит new () #2
Почитайте про разные операторы new http://www.cplusplus.com/reference/s...perator%20new/
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
24.12.2011, 15:35  [ТС]     Что значит new () #3
т.о. я выделял байты, а не определял длину массива
zss
Модератор
Эксперт С++
6285 / 5888 / 1909
Регистрация: 18.12.2011
Сообщений: 15,120
Завершенные тесты: 1
24.12.2011, 15:37     Что значит new () #4
В первом случае похоже выделится count байт,
а во втором count*sizeof(double) байт.
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
24.12.2011, 15:47     Что значит new () #5
В первом случае похоже выделится count байт,
это неверно.

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

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

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

Добавлено через 4 минуты
Кстати, в этом случаи если ошибка, то new не бросит исключения в bad_alloc
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2011, 16:05     Что значит new ()
Еще ссылки по теме:

Что значит (int)a - C++
Пожалуйста помогите!Что значит ((int)a|(int)b) & ((int)a|(int)c)!=0

Что значит запись - C++
Собственно интересует, что значит обратиться к "-1" элементу в массиве "old_vtable_" и что я присвою 3 элементу в массиве "_array"?....

что значит !feof(f) - C++
что значит (!feof(f)) ?

Что значит ошибка? - C++
помогите пожалуйста, что делать она выдает мне ошибку error C2440: '=' : cannot convert from 'const char ' to 'char ' не знаю что с этим...

Что значит string s; - C++
string s; это определение строки? какая для неё нужна библиотека? для чего нужны эти библиотеки: #include<stdlib.h> ...


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

Или воспользуйтесь поиском по форуму:
DU
1480 / 1056 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
24.12.2011, 16:05     Что значит new () #7
Кстати, в этом случаи если ошибка, то new не бросит исключения в bad_alloc
это почему? для вызова некидающего исключения оператора, это нужно специально указывать:
http://www.cplusplus.com/reference/std/new/nothrow/
Yandex
Объявления
24.12.2011, 16:05     Что значит new ()
Ответ Создать тему
Опции темы

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