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

[C++] Взятие адреса конструктора. Физическое время существование объекта. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как узнать, какой функции какой файл *.a соответсвует? http://www.cyberforum.ru/cpp/thread446938.html
Друзья! Работаю с mingw, вот там надо так: если, допустим, вызываешь API- функцию, то надо подключать соответствующую библиотеку (?), делается это ключом линкёра примерно так: -lwww файл Эта...
C++ Про деструктор и утечку памяти Доброе время суток. Вот что дано: #include <string> #include <vector> class Symbols { protected: void add(std::string str); // добавления символа virtual void inputData() = 0; //... http://www.cyberforum.ru/cpp/thread446749.html
Создать exe, запускающий exe C++
Говорю сразу: я ничего не смыслю в програмировании; зачем подался на такой форум? Надеюсь получить ответ на свой вопрос,упавая на то, что его реализация не такая сложная. У меня возникла...
Странное поведение bool C++
Помогал отлаживать код и мы наткнулись на удивительное. Кодер скрыл отображение варнингов в VS2010. Метод М1 не всегда возвращал значение типа bool. И потому в методе М2, вызывающем метод М1,...
C++ Как средствами BC 3,1 запросить свободное место на указанном жёстком диске? http://www.cyberforum.ru/cpp/thread444851.html
Извиняюсь, если создал лишнюю тему, но ничего по своей проблемке я вроде не заметил. Если что-то есть, поправьте. А вопрос в следующем: как средствами BC 3,1 запросить свободное место на указанном...
C++ Указания адреса функции Есть библиотека. Нужно чтобы функция в моей библиотеке указывала на функцию в чужой. Вот мой код: typedef int (WINAPI WJMP)(); extern "C" __declspec(dllexport) WJMP Test(void); *Test=... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
17936 / 6164 / 409
Регистрация: 30.03.2009
Сообщений: 16,925
Записей в блоге: 27
17.02.2012, 09:20
Цитата Сообщение от AzaKendler Посмотреть сообщение
разве этот участок памяти не появился при входе в лексический блок?
Технически (физически) участок памяти родился при входе в процедуру. Если говорить ещё честнее, то гораздо раньше, но в особенности реализации стека в операционных системах сейчас лезть не стОит. Ну "участок памяти" и "объект" - это не тождественно равные фичи. Объект логически появился в той точке кода, которая соответствует строке "A a;". "Логически" означает, что только после этой точки компилятор (а точнее, стандарт Си++) тебе гарантирует, что в этом участке памяти будут находиться данные, которые соответствуют твоему объекту. А от момента появления этой памяти и до момента привязки объекта к этой памяти, что находится в этой памяти - никому неизвестно

Добавлено через 1 минуту
Цитата Сообщение от AzaKendler Посмотреть сообщение
не здесь память под него была выделена?
Технически - да. Логически - нет. При условии, что мы работаем на "обычном" процессоре. Возможно, что в природе существуют специализированные процессоры, в которых технически память появляется только в тот момент, который соответствует логическому рождению объекта.

Добавлено через 1 минуту
Цитата Сообщение от AzaKendler Посмотреть сообщение
пользовательские классы отличаются от встроенных типов?
память под них выделяется не при входе в блок а в месте их объявления?
Как уже говорил, технически - при входе в блок, логически - в точке объявления объекта. С такого низкого уровня вопросом пока никто не интересовался. Надо обдумать, как это аккуратно в статью вставить. При этом так, чтобы у людей, которые такими тонкостями не заморачиаются, не возникло лишних недопониманий на ровном месте

Добавлено через 1 минуту
Всё это я уже писал, но не теми словами
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru