Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452

В чем разница между new и malloc()?

26.08.2015, 12:13. Показов 4257. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня !

Начал читать книгу Пахомов Б. "C/C++ и MS Visual C++ 2008 для начинающих"

До этого прочитал С++ за 21 день.

В книге Похомова встретил такую функцию как malloc() и free()

Это вместо new и delete в среде MS Visual C++ 2008 ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.08.2015, 12:13
Ответы с готовыми решениями:

В чем разница между malloc и new?
в чем разница? что лучше использовать?

В чем разница между malloc() и (char *)malloc()
Прошу помочь разобраться: не могу понять в чем разница междуs=malloc(sizeof(char)); иs=(char *)malloc(sizeof(char));Буду признателен вашим...

В чем разница malloc и calloc?
подскажите пожалуйста,в чем разница malloc и calloc? эмалок выделение динамической памяти а сиалок выделение чистой памяти. в смысле...

31
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
26.08.2015, 12:19
Лучший ответ Сообщение было отмечено RAFA91 как решение

Решение

Цитата Сообщение от RAFA91 Посмотреть сообщение
В книге Похомова встретил такую функцию как malloc() и free()
Это вместо new и delete в среде MS Visual C++ 2008 ?
Это не вместо. Это просто два разных способа выделить память.

Не по теме:

Цитата Сообщение от RAFA91 Посмотреть сообщение
До этого прочитал С++ за 21 день.
Рекорд по быстрочтению :)

1
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
26.08.2015, 12:30
Лучший ответ Сообщение было отмечено RAFA91 как решение

Решение

RAFA91, Это разные вещи. malloc/free Си функции. new/delete - C++. new/delete expressions не только выделяют/очищают память, но и вызывают конструктор/деструктор для объекта.
2
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
26.08.2015, 12:31
Цитата Сообщение от RAFA91 Посмотреть сообщение
Это вместо new и delete в среде MS Visual C++ 2008 ?
это Си'шные функции.

Скорее выражения new и delete пришли им на замену, и они учитывают возможности и особенности C++.

Добавлено через 1 минуту
Скажите спасибо за этот вопрос книге
Цитата Сообщение от RAFA91 Посмотреть сообщение
С++ за 21 день.
1
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.08.2015, 12:39  [ТС]
Цитата Сообщение от Croessmah Посмотреть сообщение
Скажите спасибо за этот вопрос книге
там этих функций сроду небыло.

_____________________________

Microsoft Visual C++ 6.0 потянет malloc() и free() в качестве демонстрации работы ?
0
2393 / 1913 / 763
Регистрация: 27.07.2012
Сообщений: 5,557
26.08.2015, 12:41
Цитата Сообщение от RAFA91 Посмотреть сообщение
Microsoft Visual C++ 6.0 потянет malloc() и free() в качестве демонстрации работы ?
Потянет.
1
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.08.2015, 12:57  [ТС]
как я понял для malloc надо включить

C++
1
#include <malloc.h>
а что нужно для free() ?
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,360
26.08.2015, 13:11
Лучший ответ Сообщение было отмечено RAFA91 как решение

Решение

http://www.cplusplus.com/reference/cstdlib/free/
1
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.08.2015, 14:04  [ТС]
Решил выделить память в куче для массива указателей.

В С++ делал так

C++
1
 int **p = new int *[10];
подскажите пожалуйста как это сделать с помощью malloc ?

для обычного массива делал так

C++
1
int *x = (int*)malloc(10*sizeof(int));
а вот для массива указателей не знаю (((
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
26.08.2015, 14:13
Цитата Сообщение от RAFA91 Посмотреть сообщение
а вот для массива указателей не знаю
C++
1
int ** x = (int**)malloc(10*sizeof(int*));
2
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
26.08.2015, 14:13
C++
1
int **x = (int **)malloc(10*sizeof(int *));
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
26.08.2015, 14:16
castaway, я быстрее
0
26.08.2015, 14:16

Не по теме:

Croessmah, просто меня медленный интернет подводит 8-)

0
26.08.2015, 14:19

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
просто меня медленный интернет подводит
ой да ладно, я вообще кино смотрю :D

0
26.08.2015, 14:21

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
ой да ладно, я вообще кино смотрю
Да я вообще сначала отвечать не хотел. Если бы я сразу ответил ты бы минуты на три опоздал.

0
26.08.2015, 14:25

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
Если бы я сразу ответил ты бы минуты на три опоздал.
тогда я бы не стал отвечать :D ну признай же, что отхватил по полной :black_eye.: из-за лишнего пробела (int *) :D

0
26.08.2015, 14:29

Не по теме:

Цитата Сообщение от Croessmah Посмотреть сообщение
ну признай же, что отхватил по полной из-за лишнего пробела (int *)
Так я его специально поставил.

0
26.08.2015, 14:34

Не по теме:

Цитата Сообщение от castaway Посмотреть сообщение
Так я его специально поставил.
фору дал? Ну хитрец :)

0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.08.2015, 14:47  [ТС]
Благодарю за помощь!

могу врать, но работает так тоже


C++
1
    int **p = (int**)malloc(10*sizeof(int));
0
Неэпический
 Аватар для Croessmah
18144 / 10728 / 2066
Регистрация: 27.09.2012
Сообщений: 27,026
Записей в блоге: 1
26.08.2015, 14:55
Цитата Сообщение от RAFA91 Посмотреть сообщение
могу врать, но работает так тоже
ровно до тех пор, пока sizeof(int) == sizeof(int*)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.08.2015, 14:55
Помогаю со студенческими работами здесь

Malloc + reinterept_cast и new. В чем разница?
Уважаемые форумчане, скажите пожалуйста, в чем разница между этим: int* arr_i; arr_i =...

Разница между malloc и new
Ниже представлен код: #include &lt;iostream&gt; using namespace std; struct stand { int x = 4; };

В чем разница между ^p и ^13
Заменой сделал строку с ^p и строку с ^13 с Подстановочными знаками. Если поместить курсор на строку с ^13, то курсор станет за знаком...

В чем разница между С и С++
Возник вопрос в чем жи разница между С и С++ кроме того, что в С++ есть классы а в С их нету ?

В чем разница между X x; и X x()?
Корректный ли этот ответ?


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru