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

Как работает "new с размещением" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как работает программа показа живых обоев на рабочем столе (winVista/7/8/8.1)? http://www.cyberforum.ru/cpp-beginners/thread1230310.html
Существует программа DreamScenes, которая позволяет устанавливать видео обои на рабочий стол (обычное видео в формате dream/wmv/mpg). Также в VLC media player есть функция показа видео в режиме обоев...
C++ Простая игра 3D на C++ Здравствуйте! Я бы хотел попробовать написать простенькую 3D игру на C++. Физический движок мне не нужен, так как физики там сложной не будет. Я бы хотел узнать какие графические библиотеки для... http://www.cyberforum.ru/cpp-beginners/thread1230306.html
Класс содержит более одного конструктора по умолчанию C++
Имеется класс: class ControlObject { private: string productsFilename; ofstream fout; ifstream fin; bool isOpenFile; bool isEmptyFile; public:
C++ Как осуществить прорисовки и анимацию в консолевских приложениях?
Как осуществить прорисовки и анимацию в консолевских приложениях? Буду очень благодарен за ссылки на книги или сайты. Сам не смог найти чего-то подобного. Особенно интересует анимация.
C++ Вычислить арифметическое выражение и вывести результат на экран http://www.cyberforum.ru/cpp-beginners/thread1230169.html
Помогите написать программу, которая a) Ввод с клавиатуры вещественных чисел: a, b, c и d. b) Проверяет исходные данные на область допустимых значений. c) Вычисляет арифметическое выражение...
C++ Структура "Студент": переделать задачу с использованием указателей Описать Структуру с именем STUDENT с полями: 1. NAME-фамилия и инициалы; 2.GROUP-номер группы; 3.SES-успеваемость(массив из 5 элементов).Написать программу, выполняющую следующие действия: -ввод... подробнее

Показать сообщение отдельно
dalay_lama
77 / 77 / 16
Регистрация: 22.09.2012
Сообщений: 480

Как работает "new с размещением" - C++

19.07.2014, 10:40. Просмотров 475. Ответов 10
Метки (Все метки)

Всем доброго времени суток. Уважаемые знатоки, объясните пожалуйста, как работает "new с размещением"? Сейчас занимаюсь по книге С. Прата, дошёл до этой темы, но всё равно никак не могу уловить, как например срабатывает такое:
C++
1
2
char buff[512];
double *p = new (buff) double[5]
Это же разные типы? Почему такое возможно?
Как я сейчас на данный момент понимаю, что происходит: в участок памяти, в котором находится переменная buff, помещается 5 значений типа double. Соответственно мы заняли 48 байт из 512. Я это правильно понимаю? если да, то это ещё как-то у уменя в голове укладывается. Но тогда вопрос в следующем, а что будет, если я в этот буффер, положу значение, которое больше чем сам буффер? например:
C++
1
2
char buff[512];
double *p = new (buff) double[100];
И вообще, для чего может потребоваться такая операция? я имею введу new с размещением
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru