Форум программистов, компьютерный форум 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, необходимо производную по у написать, на выходе должно получиться: df/dy = -4*y с чего начать???? какие методы, алгоритмы можете посоветовать? Помогите!
C++ Непонятки со списком
Нашёл код в интернете и немного не понимаю его в некоторых местах. Объясните мне пожалуйста, зачем в коде вот тут: strcpy(spis->data,"0"); // инициализируем его данными spis->next = NULL; // следующий элемент - NULL start = spis; // запоминаем начало 1) зачем ставить spis->next = NULL; ? Ведь он потом всё равно ставится так spis->next = new Node; Как бы не...
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... ............................. нужно найти обратную к данной матрице, используя LU- разложение матрицы(разложение на нижнетреугольную и верхнетреуг.) т.е. в кратце как-то так: для поиска обратной матрицы нужно решить уравнение А*Х=Е(единичная...
C++ Найти количесво четных элементов матрицы Нужно найти количество четных элементов матрицы в каждой строчке. Написала код, по идее ответ должен быть таким сумма=1,сумма=2,сумма=3. а вылезает сумма=1,сумма=1,сумма=1 помогите, пожалуйста, найти ошибку. #include <stdio.h> подробнее

Показать сообщение отдельно
Vourhey
Почетный модератор
6478 / 2253 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
14.03.2013, 23:34
Цитата Сообщение от mzarb Посмотреть сообщение
то он же инициализирует поля класса на стеке, а откуда он будет знать что нужно разместить не на стеке, а в куче?
Конструктор не выделяет память и ничего нигде не размещает. Он работает с уже выделенной областью (в общем случае). На вход получит адрес данных объекта. В куче они лежат, или на стеке ему совершенно фиолетово.
Цитата Сообщение от mzarb Посмотреть сообщение
Могли бы вы написать реализации нужных перегруженных new к коду в вопросе?
Там и так все в порядке.
Цитата Сообщение от mzarb Посмотреть сообщение
К примеру когда делал вывод сообщение по входу в функцию, то сначала входило в operator new, а потом в конструктор. Или же конструктор как-то попадет в какой-то перегруженный new и там уже как-то инициализируется в куче?
Ниче не понял, что ты написал. new выделит память под объект и вызовет для него конструктор, которому передаст адрес выделенной памяти. Очередность "вхождения" у тебя правильная.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru