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

Как выглядит изнутри динамическое выделение объекта через new? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ new - это операция или все таки оператор? http://www.cyberforum.ru/cpp-beginners/thread810541.html
В большинстве интернет-источниках написано, (взять хоть википедию (да, я понимаю, что там много неправильной информации)). Но действительно, если вбить в поиск new c++ почти везде написано, что это оператор. Но ведь это операция?? Или я что то путаю? Или разницы нет? Помогите, я уж совсем запуталась.
C++ Указатель Можете объяснить устройство работы ,мне казалось что если вызвать просто ptr то должен возвратиться адрес,а если * ptr ,то значение,здесь же совершенно все не так int main() { char *ptr="hello world"; cout<<ptr<<endl; cout<<*ptr; getch(); return 0; } http://www.cyberforum.ru/cpp-beginners/thread810537.html
Строковые типы данных C++
Ввести с клавиатуры строку из 20-ти или меньшего числа символов и найти в строке сумму и количество всех цифр. Язык С++(дано: ввод в Edit1 и вывод в Edit2 и Edit3).
C++ Строковые типы данных (заменить все прописные (большие) буквы латинского алфавита строчными (маленькими))
Ввести с клавиатуры строку и заменить все прописные (большие) буквы латинского алфавита строчными (маленькими). Язык С++ (дано Edit1 и вывод в Edit2).
C++ Организовать обход в глубину http://www.cyberforum.ru/cpp-beginners/thread810532.html
Искал код, не смог найти подходящий. Цель следующая - первым обходом ищем все шарниры, а вторым нужно найти для каждого шарнира, на сколько компонент связности дробит граф этот шарнир и сколько в каждой компоненте останется вершин. Было бы вообще великолепно, если бы было возможно реализовать это одним обходом. Поделитесь, пожалуйста, кодом по этому вопросу, или идеями, если есть :)
C++ консольное приложение (при запуске приложение открывалось на весь экран) Как сделать, чтобы при запуске приложение открывалось на весь экран? подробнее

Показать сообщение отдельно
ValeryS
Модератор
6412 / 4878 / 447
Регистрация: 14.02.2011
Сообщений: 16,171
17.03.2013, 11:16     Как выглядит изнутри динамическое выделение объекта через new?
Цитата Сообщение от ValeryS Посмотреть сообщение
A* placementMemory = static_cast<A*>(operator new[] (n * sizeof(A)));//выделим память
Вот здесь мы просто выделяем память под n объектов A указатель placementMemory указывает на выделенную память (аналог malloc())
Цитата Сообщение от ValeryS Посмотреть сообщение
new (placementMemory + i) A(rand())
а здесь вызываются конструкторы
видя в качестве аргумента указатель на память new не выделяет память а просто вызывает конструктор A(rand()
это и есть Placement new
вот есть статейка
http://itw66.ru/blog/c_plus_plus/471.html
 
Текущее время: 03:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru