powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / А где создание объекта
25 сообщений из 96, страница 3 из 4
А где создание объекта
    #38760814
Фотография Judo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovJudoНо ничего подобного в модуле QT нет
Ну а звёздочку ты где-нибудь в объявлении QMessageBox видишь? Она не суслик, всегда
указывается явно.

Причем тут вообще указатель?
...
Рейтинг: 0 / 0
А где создание объекта
    #38760825
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JudoПричем тут вообще указатель?
При всём. Ты, в стартовом посте объявляешь не указатель. И удивляешься что не-указателю не
надо ничего присваивать.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
А где создание объекта
    #38760850
Фотография Judo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответ нашел здесь :
Чем отличается
Class_A* a=new Class_A();
от
Class_A a;
?
тем что с помощью оператора new память выделяется во время работы программы в куче, во втором случае на этапе компиляции. В первом случае мы работаем с экземпляром объекта через указатель
Там он был всего в два ответа. Здесь же нафлудили...
...
Рейтинг: 0 / 0
А где создание объекта
    #38760853
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JudoОтвет нашел здесь :
Чем отличается
Class_A* a=new Class_A();
от
Class_A a;
?
тем что с помощью оператора new память выделяется во время работы программы в куче, во втором случае на этапе компиляции. В первом случае мы работаем с экземпляром объекта через указатель
Там он был всего в два ответа. Здесь же нафлудили..."во втором случае на этапе компиляции" - ответ не правильный.
...
Рейтинг: 0 / 0
А где создание объекта
    #38760886
Фотография Judo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarloneТам он был всего в два ответа. Здесь же нафлудили..."во втором случае на этапе компиляции" - ответ не правильный.[/quot]
В момент запуска в глобальном сегменте
...
Рейтинг: 0 / 0
А где создание объекта
    #38760908
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JudoBarloneТам он был всего в два ответа. Здесь же нафлудили..."во втором случае на этапе компиляции" - ответ не правильный.
В момент запуска в глобальном сегменте[/quot]Если это объявление переменной вне функции, то да. А если переменная объявлена внутри функции, то в момент выполнения этой строки кода.
...
Рейтинг: 0 / 0
А где создание объекта
    #38760911
Фотография Judo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarloneА если переменная объявлена внутри функции, то в момент выполнения этой строки кода.
Barlone, В каком сегменте память будет выделена?
...
Рейтинг: 0 / 0
А где создание объекта
    #38760914
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если переменная объявлена внутри функции, то память под переменную будет автоматически выделена на стеке в момент выполнения этой строки кода, и освобождена автоматически при выходе из области видимости переменной.
...
Рейтинг: 0 / 0
А где создание объекта
    #38760922
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, и еще после выделения памяти на стеке будет вызван конструктор, который при желании программиста может выделить еще динамическую память в куче.
...
Рейтинг: 0 / 0
А где создание объекта
    #38760927
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JudoBarloneА если переменная объявлена внутри функции, то в момент выполнения этой строки кода.
Barlone, В каком сегменте память будет выделена?Это будет зависеть от того, где в коде прописано создание объекта.
Ты можешь считать меня хамом и всяческо-мерзопакостным человеком, но все-же, возьми учебник и почитай.
Сегментов не два как ты думаешь, а минимум четыре для примитивного случая и до бесконечности для приложений с разделяемыми библиотеками.
В минимуме, какое приложение имеет: сегмент данных, сегмент неинициализированных данных, стек и кучу. Объект может быть в любом из них.
...
Рейтинг: 0 / 0
А где создание объекта
    #38760935
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для дельфиста самой большой неожиданностью наверное будет автоматический вызов конструкторов и деструкторов.
...
Рейтинг: 0 / 0
А где создание объекта
    #38760937
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в классе QMessageBox есть 6 статических методов, которые позволяют показать этот самый мессаджбокс одной строчкой кода, типа:
Код: plaintext
1.
QMessageBox::critical( 0, "я сломалсо", "здесь ошибка" );

полностью готовые к употреблению.
Judo, ты этого хотел? Или о чём ты уже 3ю страницу споришь со всеми подряд?
...
Рейтинг: 0 / 0
А где создание объекта
    #38760943
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorych, он интересуется где там память выделяется:
Код: plaintext
1.
QMessageBox msgBox;


Даже не глядя в исходники QT, рискну предположить, что конструктор QMessageBox выделяет какую-то память в куче.
...
Рейтинг: 0 / 0
А где создание объекта
    #38760959
Фотография Judo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl...
Сегментов не два как ты думаешь, а минимум четыре для примитивного случая и до бесконечности для приложений с разделяемыми библиотеками....
Где ты прочитал что я думаю что их только два ?
...
Рейтинг: 0 / 0
А где создание объекта
    #38760963
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarloneДаже не глядя в исходники QT, рискну предположить, что конструктор QMessageBox выделяет какую-то память в куче.а не пофигу ли пользователю класса, выделяет ли класс в куче чего то, или нет? Главное, чтоб удалял за собой )))
...
Рейтинг: 0 / 0
А где создание объекта
    #38760964
Фотография Judo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarloneДаже не глядя в исходники QT, рискну предположить, что конструктор QMessageBox выделяет какую-то память в куче.
Вопрос был конкретно про QT, а не про предположения. Есть конкретная статья на QT где модератор говорит про сегмент стека.

На что был ответ
Anatoly MoskovskyJudoТак вот либо у них модераторы глупые либо он реально весь целиком в стеке сидит
Не стоит путать глупость с невежеством :)
...
Рейтинг: 0 / 0
А где создание объекта
    #38760970
Фотография Judo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychBarloneДаже не глядя в исходники QT, рискну предположить, что конструктор QMessageBox выделяет какую-то память в куче.а не пофигу ли пользователю класса, выделяет ли класс в куче чего то, или нет? Главное, чтоб удалял за собой )))
Опять для тех кто в танке и не читает сообщения - обсуждение в начале было про переполнение сегмента по сравнению с кучей и про потоко безопасность - вот тогда вот пользователю будет не пофиг
...
Рейтинг: 0 / 0
А где создание объекта
    #38760971
Barlone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
egorychа не пофигу ли пользователю класса, выделяет ли класс в куче чего то, или нет? Главное, чтоб удалял за собой )))он где-то на предыдущей странице беспокоился, что стек переполнится :)
...
Рейтинг: 0 / 0
А где создание объекта
    #38760981
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Judo,
>> Опять для тех кто в танке и не читает сообщения
да я уже нить потерял, о чём ты споришь ))))
>> обсуждение в начале было про переполнение сегмента
брат, какого сегмента? ты создал объект на стеке, о переполнении стека надо думать, а он, как правило, большой. Мессаджбоксами его переполнить довольно сложно.

P.S. Там ещё Sheraton всех окончательно запутал своими "простыми объяснениями", конечно.
...
Рейтинг: 0 / 0
А где создание объекта
    #38761034
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BarloneЕсли переменная объявлена внутри функции, то память под переменную будет автоматически выделена на стеке в момент выполнения этой строки кода, и освобождена автоматически при выходе из области видимости переменной.
Что скорее всего тоже не очень большой правдой )))
Если смотреть дизассемблером, то скорее всего память под все локальные переменные "выделится" в первой же строчке ф-ции

add sp, [размер_фрейма_под_локальные_переменные]

/возможно sub, не помню, откуда и куда растет стек. Возможно со старших адресов к младшим/

Когда они будут инициализированы ))), это уже другой вопрос.
JudoЕсть конкретная статья на QT где модератор говорит про сегмент стека.


Если Вы про эту цитату:
16632002
То, плохо зная английский, я бы предположил, что человек говорит о том, что СТАТИЧЕСКИМ МЕТОДАМ пофиг (!) как и где был выделена память под экземпляр. А вот для не статических, важно где размещен объект: "на стеке" или "в куче".
JudoЗдесь акцентируем внимание на слово complete.
Так вот либо у них модераторы глупые либо он реально весь целиком в стеке сидит

Модераторы возможно умные. Целиком в стеке.
[quot Judo]egorych...обсуждение в начале было про переполнение сегмента по сравнению с кучей и про потоко безопасность - вот тогда вот пользователю будет не пофиг
1. Ну... придется докупить еще памяти в компьютер... Правда, чем в этом случае может помочь куча, не очень понятно )))
2. Тема потоко-безопасности не раскрыта. Объект не является статическим (что это Вам и пытались объяснить), т.ч. к потокам это не имеет никакого значения.

IMHO
...
Рейтинг: 0 / 0
А где создание объекта
    #38761103
Sheraton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivНифига себе детали ... Это -- основы. Ты вот нагонишь всякой пурги, он-то книжек не читает, читает только форумы -- и будет всю жисть считать, что auto -- это static.

Не надо утрировать до такого уровня. Придет время узнает что такое auto и что такое static если вообще это понадобится, а пока для изучения, нечего забивать голову таким деталями.
...
Рейтинг: 0 / 0
А где создание объекта
    #38761104
Sheraton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
Значит, плохая книга.

Ну конечно же, Стенли Липман вообще дурак, занимался какой-то ерундой вместе с Бьярном Страуструпом в начале 80-х.
А вот MasterZiv гораздо лучше знает С++ чем все эти пердуны, которые создали С++.
...
Рейтинг: 0 / 0
А где создание объекта
    #38761109
Sheraton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЕсть принципиальная разница.
Статические данные все непотокобезопасны (если, конечно, не TLS).
Автоматические (стековые) -- наоборот.

Потоки для новичка изучающего С++???? Да на С++ можно всю жизнь программировать и до потоков так и не дойти в виду отсутствия надобности.
...
Рейтинг: 0 / 0
А где создание объекта
    #38761120
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SheratonMasterZivЕсть принципиальная разница.
Статические данные все непотокобезопасны (если, конечно, не TLS).
Автоматические (стековые) -- наоборот.

Потоки для новичка изучающего С++???? Да на С++ можно всю жизнь программировать и до потоков так и не дойти в виду отсутствия надобности.
Ты имел в виду использование Unix-processes вместо threads?
...
Рейтинг: 0 / 0
А где создание объекта
    #38761125
BagaBaga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дорогой мой Judo,
да вы тролль обыкновенный. Ничем иным нельзя объяснить ваше маниакальное желание приписать человеку бредовое утверждение и требовать его доказательства.

Ложь №1.
Именно вы утверждаете, что QT создаст статический объект, и при том глобальный статический объект: "я ожидал что статический стековый объект - будет глобальным ". Но постоянно приписываете это ни в чём не повинному модератору форума QT и даже обвиняете, что он несёт бред.

Ложь №2.
JudoНа кой черт мне сдался этот левый код. Еще раз - в третий раз - речь идет о конкретном файле QMessageBox
Где в нем - по вашему мнению - статический метод (бред какой-то) - который отвечает за создание уже в моей проге QMessageBox msg. Если это метод то звучит как полная чушь.
Кусок кода приведите из модуля QMessageBox.h ? а не этот левый код
Это твой бред. И не надо мне его приписывать. Я за этот бред не подписывался.

Ложь №3.
JudoОпять для тех кто в танке и не читает сообщения - обсуждение в начале было про переполнение сегмента по сравнению с кучей и про потоко безопасность - вот тогда вот пользователю будет не пофиг

Вопрос первого топика звучал так
JudoВозник вопрос как это тогда работает без создания объекта, т.е. мы имеем просто ссылку msgBox а объекта нет ?

Т.е. вопрос лежал в плоскости вашего непонимание основ С++: понятия конструктора и деструктора, порядка их вызова при создании экземпляра класса.
...
Рейтинг: 0 / 0
25 сообщений из 96, страница 3 из 4
Форумы / C++ [игнор отключен] [закрыт для гостей] / А где создание объекта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]