powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Преобразование AnsiString в char - кто из нас двоих (билдер или я) сошел с ума?
9 сообщений из 34, страница 2 из 2
Преобразование AnsiString в char - кто из нас двоих (билдер или я) сошел с ума?
    #39405861
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яУ меня несколько лет был точно такой же эпизод в жизни. Он прошел ))).
Тест кейс давайте к багу. Тогда посмотрим, прошел или нет. А так мало ли что показалось, особенно в многопоточной программе
...
Рейтинг: 0 / 0
Преобразование AnsiString в char - кто из нас двоих (билдер или я) сошел с ума?
    #39405874
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще очень смешно наблюдать трансформацию утверждения "на усмотрение компилятора" в "это был баг в компиляторе".
Что скорее всего говорит про богатую фантазию ))
...
Рейтинг: 0 / 0
Преобразование AnsiString в char - кто из нас двоих (билдер или я) сошел с ума?
    #39405913
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anatoly Moskovskyну яУ меня несколько лет был точно такой же эпизод в жизни. Он прошел ))).
Тест кейс давайте к багу. Тогда посмотрим, прошел или нет. А так мало ли что показалось, особенно в многопоточной программе
Что видел, с чем разобрался, то и описал. Один и тот же код и работал и не работал и в дебажных и в релизных сборках. От чего зависело мнение компилятора - мне неизвестно. Как сделать воспроизводимый тест - тоже. Мне неинтересно мутить гарантированный тест для определенных версий определенных компиляторов, переписываться с техподдержкой вендоров, и тем более вовлекать в это дело посторонних.
Схема - описана выше. Объект к которому код не обращается явным образом в его области видимости, имеет время жизни меньше чем время жизни области видимости и часть кода из его области видимости выполняется после вызова деструктора.

Ну, в данном случае каким быть коду решает компилятор, так что это и есть баг на усмотрение компилятора.
Баг не в том, что непонятно когда компилятор убьет объект, неиспользуемый далее по коду.

Анатолий, просьба перестать уже косить под дурачка.
...
Рейтинг: 0 / 0
Преобразование AnsiString в char - кто из нас двоих (билдер или я) сошел с ума?
    #39405934
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яАнатолий, просьба перестать уже косить под дурачка.
Да, тут мне не удастся конкурировать ))
...
Рейтинг: 0 / 0
Преобразование AnsiString в char - кто из нас двоих (билдер или я) сошел с ума?
    #39405962
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня тут тоже недавно "не работал" std::thread.join() в 2 часа ночи.

Пока наутро я не разобрался, что потока было 4 а не два =)
...
Рейтинг: 0 / 0
Преобразование AnsiString в char - кто из нас двоих (билдер или я) сошел с ума?
    #39406137
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я тоже знаю одного товарища, у которого все компиляторы бажные :)
если говорить о такой ошибке, то, думаю, очень много кода просто не будет работать с этим компилятором. поэтому её легко найти. от этого, вероятность того, что такая ошибка будет допущена, стремится к нулю.
...
Рейтинг: 0 / 0
Преобразование AnsiString в char - кто из нас двоих (билдер или я) сошел с ума?
    #39406228
Вася Уткин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот вы смеётесь, а надо срочно звонить комитетчикам потому, что это грубое нарушение стандарта - это хулиганство какое-то:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/n4606.pdf § 12.4
11 A destructor is invoked implicitly
(11.1) — for a constructed object with static storage duration (3.7.1) at program termination (3.6.4),
(11.2) — for a constructed object with thread storage duration (3.7.2) at thread exit,
(11.3) — for a constructed object with automatic storage duration (3.7.3) when the block in which an object is created exits (6.7),
(11.4) — for a constructed temporary object when its lifetime ends (4.4, 12.2).
...
Рейтинг: 0 / 0
Преобразование AnsiString в char - кто из нас двоих (билдер или я) сошел с ума?
    #39409380
Проходил тут мимо и решил переспросить о следующем:
teo609Предположу, что Edit1->Text возвращает временный объект (удаляется в конце выражения, т.е. встретив ";").
ну явыражение Edit1->Text возвращает объект AnsiString.
Этот объект временный .
Поясните, пожалуйста, почему объект Edit1->Text (который является AnsiString'ом) является временным ? Это же property класса TCustomEdit. И где тогда постоянно хранится текст объекта Edit1?
...
Рейтинг: 0 / 0
Преобразование AnsiString в char - кто из нас двоих (билдер или я) сошел с ума?
    #39409437
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Совсеммимопроходящий,

возвращается то не ссылка на проперти (хз какого он типа), а новый объект стринга, сконструированный из проперти.

Вот он то и дохнет.

В ассемблере видно (cpu window)
...
Рейтинг: 0 / 0
9 сообщений из 34, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / Преобразование AnsiString в char - кто из нас двоих (билдер или я) сошел с ума?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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