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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возврат объекта класса из функции http://www.cyberforum.ru/cpp-beginners/thread808745.html
Имеется следующий код: #include "stdafx.h" #include <iostream> using namespace std; /*Задача: Определить класс список элементов. В определение класса включить два конструктора для...
C++ Описать класс Матрица Описать класс Матрица. C++ http://www.cyberforum.ru/cpp-beginners/thread808735.html
C++ Производные
Привет всем! У меня такая проблема: надо написать программку, которая бы выдала вид прозводной, например, на вход подается f=y*x-2*y^2, необходимо производную по у написать, на выходе должно...
C++ Непонятки со списком
Нашёл код в интернете и немного не понимаю его в некоторых местах. Объясните мне пожалуйста, зачем в коде вот тут: strcpy(spis->data,"0"); // инициализируем его данными spis->next = NULL; ...
C++ поиск обратной матрицы http://www.cyberforum.ru/cpp-beginners/thread808728.html
дана матрица A(почти матрица гильберта-отличается только 1-ая строчка): 1 1 1 1... 1/2 1/3 1/4 1/5... 1/3 1/4 1/5 1/6... ............................. нужно найти...
C++ Найти количесво четных элементов матрицы Нужно найти количество четных элементов матрицы в каждой строчке. Написала код, по идее ответ должен быть таким сумма=1,сумма=2,сумма=3. а вылезает сумма=1,сумма=1,сумма=1 помогите,... подробнее

Показать сообщение отдельно
mzarb
-211 / 7 / 1
Регистрация: 14.01.2013
Сообщений: 141
15.03.2013, 02:32  [ТС]
Vourhey, спасибо. Я почему-то думал, что new возвращает rvalue, так как нет возможности обратится к этой памяти или применить операцию взятия адреса, по крайней мере до присваивания указателю, по этому откинул версию "объект.функция()".
А new возвращает адрес выделенной памяти или все же указатель(без имени или с именем) на эту память?
И что будет делать конструктор, он инициализирует память нулями ?
И есть ли у этого объекта(адреса) такой же доступ к полям класса как и у обычных объектов, то есть можно ли будет в конструкторе писать адрес.поле и присваивать им аргументы если есть? То есть A или A() - это определения объекта без имени(но с адресом) типа A , а в примере "new (placementMemory + i) A(rand()" - это определение объекта без имени(с адресом , который вернет new) типа A и инициализация его значением "rand()" ? Если да, то почему адрес туда подставляется после типа?
И последний вопрос, static_cast преобразует к нужному типу, разбивая выделенный кусок на размер полей и располагая их последовательно в этом участке памяти?
Буду очень благодарен за ответ.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru