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

Malloc vs new - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Реализовать собственный cin http://www.cyberforum.ru/cpp-beginners/thread1495377.html
Я короче хочу реализовать собственный cin. Просто оно медленно работает. И в этом проблема. typedef long long ll; struct Cin{ void operator >>(ll &x){ scanf("%lld", &x); }...
C++ Вывести те согласные буквы, которые входят в первое предложение и не входят во второе Всем привет помогите пожалуйста-Решить задачу с использованием множества: имеются два предложения, состоящие из русских букв, цифр и знаков препинания. Вывести те согласные буквы, которые входят в... http://www.cyberforum.ru/cpp-beginners/thread1495365.html
Вывод escape в консоль C++
короче не могу вывести в консоль \ cout << "( \"; что нужно добавить,изменить чтобы вывело?
Квадратное уравнение (найти ошибку) C++
Добрый день, решал вот такую задачку, однако она не проходит один из тестов, помогите найти ошибку. Также, как я понял, при отсутствии корней нужно вывести просто 0 - как-то умалчивается об этом в...
C++ Обработка нажатия клавиши http://www.cyberforum.ru/cpp-beginners/thread1495324.html
нужно задать нажатию клавиши enter другие функции: private: System::Void textBox1_TextChanged_1(System::Object^ sender, System::EventArgs^ e) { if (Control::ModifierKeys == Keys::Enter) {...
C++ Шаблоны В файле есть такое определение template<int32 aMaxLength> class TTextBuffer: public MString { public: /** Construct an empty TTextBuffer object. */ TTextBuffer() { } /** Construct a... подробнее

Показать сообщение отдельно
VoltDeMar
16 / 16 / 0
Регистрация: 05.06.2012
Сообщений: 1,015

Malloc vs new - C++

08.07.2015, 14:54. Просмотров 1343. Ответов 33
Метки (Все метки)

Здравствуйте.

Вникаю в ручное управление памятью. Абзац из книги "C++ для профессионалов" не совпадает с моим представлением использования объектов. Тут написано:

C++
1
2
Foo* myFoo = {Foo*}malloc(sizeof(Foo));
Foo* myOtherFoo = new Foo();
После выполнения этих строк кода как переменная myFoo, так и переменная myOtherFoo будут указывать на области памяти в "куче", которые имею достаточный размер для хранения объекта Foo. К членам данных и методам объекта Foo можно получить доступ с помощью обоих указателей. Различие между ними состоит в том, что объект Foo, адресуемый указателем myFoo, не является, по сути, объектом, поскольку он не был построен.

Из других источников прочел что malloc не вызывает конструктор.

Но как это удается получить доступ к членам данных и методам объекта которого не существует. И образуется в памяти после выполнения malloc ?

Или это значит что после выделения памяти при помощи malloc нужно вручную вызывать конструктор?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru