|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
||||||
Aggregate inizialization с участием анонимного объекта09.06.2016, 21:07. Показов 1521. Ответов 18
Метки нет (Все метки)
Добрый день,
1) почему анонимный объект Data не доживает до инициализации объекта Container ( полная операция ведь не завершена)?2) откуда взялись деструкторы Data с пустой строкой?
0
|
||||||
| 09.06.2016, 21:07 | |
|
Ответы с готовыми решениями:
18
Linq Aggregate для анонимного типа Получение свойства методом анонимного объекта. Замыкания Область видимости анонимного объекта при вызове функции |
|
140 / 110 / 60
Регистрация: 26.10.2013
Сообщений: 314
|
|
| 09.06.2016, 21:20 | |
|
rikimaru2013, а можно ваш вывод ?
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
||||||
| 09.06.2016, 21:27 | ||||||
|
Не понятно, откуда у Вас пустая строка. Мой вывод, как я и ожидал:
0
|
||||||
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 09.06.2016, 21:40 [ТС] | |
|
Хотя vc++ выводит как и у вас - http://rextester.com/WCIJYJ16884 Visual Studio 2013 Version 4.6.01038
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 09.06.2016, 21:44 | |
|
Могу предположить, что компилятор соптимизировал код так, что строки переместились, а не скопировались.
Добавлено через 42 секунды Попробуйте убрать ключи оптимизации.
1
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 09.06.2016, 21:45 [ТС] | |
|
Toshkarik, получается оптимизация приводит к UB ? Да и по словам hoggy отрубать оптимизацию - это не правильно, она же не просто так там происходит. Как с copy elision - назвать багом нельзя, всё логично. И строить свой код с поправкой "чтобы не соптимизаровалось" - тоже не верно -)
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 09.06.2016, 21:51 | |
|
Почему UB? К UB приводит код, написанный прогаммистом, а не код сгенерированный компилятором.
Добавлено через 2 минуты Он просто обменял 2 строки местами. К примеру ( я не знаю, как устроено это точно в VC++ ), просто свапнул указатели и размеры.
0
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 09.06.2016, 21:51 [ТС] | |
|
С
/Od тот же вывод, что и на скрине
0
|
|
|
140 / 110 / 60
Регистрация: 26.10.2013
Сообщений: 314
|
|
| 09.06.2016, 21:54 | |
|
Может быть поток вывода шалит? Что если попробовать в cerr писать?
0
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 09.06.2016, 21:57 [ТС] | |
|
0
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 09.06.2016, 22:03 [ТС] | |
|
Как я и указал в назв темы, я грешу, что анонимный объект по воле компилятора не доживает до полной инициализации объекта контейнера.
0
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 09.06.2016, 22:08 | |
|
Не обратил внимания на последовательность Вашего вывода. Похоже на баг.
1
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 09.06.2016, 22:09 [ТС] | |
|
Toshkarik, мой или компилятора конкретной версии?
0
|
|
|
140 / 110 / 60
Регистрация: 26.10.2013
Сообщений: 314
|
|
| 09.06.2016, 22:10 | |
|
rikimaru2013, в vs 2015 при любых ключах оптимизации "хороший" вывод
1
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 09.06.2016, 22:11 | |
|
Я конечно понимаю, что объект живет в пределах фигурных скобок, но здесь же это initializer list, а не блок кода
Может за это и не углядели.Добавлено через 39 секунд Апдейты последние стоят?
1
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,816
|
|
| 09.06.2016, 22:13 | |
Сообщение было отмечено rikimaru2013 как решение
Решение
rikimaru2013, это баг в компиляторе (ссылку на их трекер где-то видел, но сходу не нашел). Обновись до последней версии 2013й (update 5).
Есть вот такая ссылка пока: https://stackoverflow.com/ques... with-stdst
2
|
|
|
1181 / 894 / 94
Регистрация: 03.08.2011
Сообщений: 2,461
|
|
| 09.06.2016, 22:13 | |
|
0
|
|
|
2549 / 1208 / 358
Регистрация: 30.11.2013
Сообщений: 3,826
|
|
| 10.06.2016, 06:22 [ТС] | |
|
DrOffset, fixed
Thank you!
0
|
|
| 10.06.2016, 06:22 | |
|
Помогаю со студенческими работами здесь
19
Как сохранить в файл "свойства анонимного объекта"? Объединить первые символы строк с использованием Aggregate Что значат команды Where, Aggregate, ToList, ForEach Перегрузка операторов с участием массивов BSOD с участием ntoskrnl.exe Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|