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

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

Войти
Регистрация
Восстановить пароль
 
wardenclyffe
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 9
#1

Что лучше - malloc или new? - C++

27.02.2014, 16:41. Просмотров 741. Ответов 7
Метки нет (Все метки)

Что лучше использовать для выделения памяти?
C++
1
2
3
int *p = new int;
//or
int *p = malloc(sizeof(int));
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2014, 16:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Что лучше - malloc или new? (C++):

Что быстрее/эффективнее malloc/realloc или new/delete? - C++
Всем привет. Год программировал на СИ под микроконтроллеры... Начал изучать с++... Всё ново, интересно... Доковырялся до STL... В процессе...

Что лучше С++ 6 или С++ 2010 Что выбрать, мое мнение - C++
Что лучше С++ 6 или С++ 2010 Что выбрать, мое мнение Вот я тут на днях думал и пришел к выводу, например если вы хотите чтобы ваша прога...

Что лучше: динамические массивы, векторы, списки, map контейнеры или что-то ещё? - C++
Привет всем! Помогите правильно алгоритм выбрать. Надо получать из файлов (около 8000 файлов) значения и записать их в массивы или в...

Что лучше c++ или c#? - C++
Здравствуйте! Я изучил Pascal и Delphi, сейчас хочу перейти на C, но ни как не могу определиться что выбрать c++ или c#. Не могли бы вы...

Что лучше Pascal или C++ - C++
Какой язык лучше Pascal или C++? и что легче изучать?

Что лучше ссылка или указатель? - C++
Что лучше - ссылка или указатель?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
27.02.2014, 16:44 #2
Странный вопрос в C++ разделе. Сам-то как считаешь? Разницу знаешь?
0
wardenclyffe
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 9
27.02.2014, 16:59  [ТС] #3
Вот и хочу узнать, в чём разница.
0
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
27.02.2014, 17:04 #4
Цитата Сообщение от wardenclyffe Посмотреть сообщение
Вот и хочу узнать, в чём разница.
А в книжке прочитать? В любой книге по плюсам написано, как работает new и что делает.
1
DrOffset
7152 / 4293 / 968
Регистрация: 30.01.2014
Сообщений: 7,094
27.02.2014, 17:11 #5
Перефразируя вопрос, что лучше - молоток или отвертка?
Не, ну шурупы молотком же можно забивать
Я не издеваюсь, просто хочу донести мысль. Каждому инструменту - своя задача.
New от malloc в общем случае отличается тем, что знает о С++: то бишь вызывает конструктор у объекта, память для которого он выделил. А delete - соответственно знает про деструктор. malloc ничего этого не делает, и в С++ может быть полезен, когда это делать и не надо (задача не требует).
1
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
27.02.2014, 17:23 #6
malloc не вызывает конструктор объекта, не бросает исключение, возвращает NULL в случае если не выделили память, принимает необходимое кол-во байт в качестве параметр
new - вызывает конструктор (можно выбрать вызов по умолчанию или с параметрами), бросает исключение (кроме случая если в качестве параметра new передать std::nothrow или в случае самостоятельно перегрузки), а так же при выделении память нет необходимости указывать размер объекта(выделяемой памяти), в случае выделение памяти под массив так же не требует размер в байтах, а только кол-во элементов
Существует еще одна версия new с размещением, не полностью с ней знаком, но как понял эта версия конструирует объект с указанием где ему создаться (принимает в качестве параметра указатель на обл памяти) в общем случае все

Добавлено через 1 минуту
и еще, если пишите на Си - там нет new, только malloc (calloc еще кажется), на С++ есть оба, но лучше new
1
THE--MASTER
Заблокирован
27.02.2014, 17:25 #7
new
1
wardenclyffe
0 / 0 / 0
Регистрация: 30.11.2013
Сообщений: 9
27.02.2014, 18:08  [ТС] #8
Спасибо, разобрался.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2014, 18:08
Привет! Вот еще темы с ответами:

Что лучше массив или вектор? - C++
что лучше использовать массив или vector?

Что лучше - вектора или массивы? - C++
Я читал где-то, что не стоит пользоваться векторами. Говорят они намного медленнее массивов. А что если потребуется создать массив данных с...

Что лучше использовать, #define или typedef? - C++
Вот привожу пример программы. Здесь можно и с #define сделать и с typedef. Программа в любом случае будет прекрасно работать. Там что же...

Что лучше использовать vector или массив - C++
Что лучше использовать и когда vector или массив ?


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.02.2014, 18:08
Ответ Создать тему
Опции темы

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