Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как узнать, какой функции какой файл *.a соответсвует? https://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; //...
Создать exe, запускающий exe C++
Говорю сразу: я ничего не смыслю в програмировании; зачем подался на такой форум? Надеюсь получить ответ на свой вопрос,упавая на то, что его реализация не такая сложная. У меня возникла...
C++ Странное поведение bool Помогал отлаживать код и мы наткнулись на удивительное. Кодер скрыл отображение варнингов в VS2010. Метод М1 не всегда возвращал значение типа bool. И потому в методе М2, вызывающем метод М1,... https://www.cyberforum.ru/ cpp/ thread445695.html
C++ Как средствами BC 3,1 запросить свободное место на указанном жёстком диске? https://www.cyberforum.ru/ cpp/ thread444851.html
Извиняюсь, если создал лишнюю тему, но ничего по своей проблемке я вроде не заметил. Если что-то есть, поправьте. А вопрос в следующем: как средствами BC 3,1 запросить свободное место на указанном...
C++ Указания адреса функции
Есть библиотека. Нужно чтобы функция в моей библиотеке указывала на функцию в чужой. Вот мой код: typedef int (WINAPI WJMP)(); extern "C" __declspec(dllexport) WJMP Test(void); *Test=...
C++ Как аннулировать потоки, которые заблокированы по переменной условия (pthread)?
И никак, что ли не аннулировать, получается? Вот, допустим, есть несколько потоков которые заблокированы по переменной условия: pthread_mutex_lock (&mutex); if (!(mozno_idti)) { ...
C++ Есть 4 потока. После осуществления блокировки барьером, 3 куда-то деваются, куда? (pthreads) Друзья! Как мог упростил код, вот суть В цикле создаются 4 вспомогательных потока, кадый из которых в цикле же 2 раза выводит свой TID. После первого вывода TIDа каждым потоком срабатывает... https://www.cyberforum.ru/ cpp/ thread444183.html
C++ Внедрение мультиплеера C++ https://www.cyberforum.ru/ cpp/ thread443994.html
Привет дорогие форумчане. Возникла задача сделать мультиплеер для игры(исходных кодов которой я не имею) . Разбил на задачки и вот одна из них. Первая задача это перемещение игроков. вот моя...
C++ Графический интерфейс приложений на C? Как сделать графический интерфейс приложения под Linux написанного на C? https://www.cyberforum.ru/ cpp/ thread443785.html
Evg
Эксперт CАвтор FAQ
21115 / 8131 / 628
Регистрация: 30.03.2009
Сообщений: 22,447
Записей в блоге: 30
17.02.2012, 09:20 0

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

17.02.2012, 09:20. Просмотров 10547. Ответов 69
Метки (Все метки)

Ответ

Цитата Сообщение от AzaKendler Посмотреть сообщение
разве этот участок памяти не появился при входе в лексический блок?
Технически (физически) участок памяти родился при входе в процедуру. Если говорить ещё честнее, то гораздо раньше, но в особенности реализации стека в операционных системах сейчас лезть не стОит. Ну "участок памяти" и "объект" - это не тождественно равные фичи. Объект логически появился в той точке кода, которая соответствует строке "A a;". "Логически" означает, что только после этой точки компилятор (а точнее, стандарт Си++) тебе гарантирует, что в этом участке памяти будут находиться данные, которые соответствуют твоему объекту. А от момента появления этой памяти и до момента привязки объекта к этой памяти, что находится в этой памяти - никому неизвестно

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

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

Добавлено через 1 минуту
Всё это я уже писал, но не теми словами

Вернуться к обсуждению:
[C++] Взятие адреса конструктора. Физическое время существование объекта.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.02.2012, 09:20

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Проверка URL адреса на существование
Доброго времени суток! Есть определенный цикл по перебору страниц сайта, цикл определяет...

Проверка email адреса на существование
Доброго времени суток. Есть надобность в небольшой программе. Суть в том что после ввода email...

Проверка на существование proxy адреса
Добрый день У меня такой вопрос Каким кодом я могу осуществить проверку на существование proxy...

Файлы: ввод адреса объекта и вывод данных объекта
Всем привет. Хочу сделать программу, в консоль которой, вводится адрес папки/файла, после чего,...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.