170 похожих чатов

Доброе утро всем. Нашёл код, следующего типа : https://godbolt.org/z/vc6dnfhsE - каким

образом подставляются поля из одной структуры во вторую?

16 ответов

17 просмотров

путём копирования данных, должно быть...

A& a = *(A*)returnData(b); Это невалидный код, UB

ssf-Defs Автор вопроса
Ilya Zviagin
A& a = *(A*)returnData(b); Это невалидный код, U...

https://github.com/simple-coding-channel/SimpleEngine/blob/e55968fb5dde12e7d1508857eae9896486cfa4fc/SimpleEngineCore/src/SimpleEngineCore/Window.cpp#L59 https://github.com/simple-coding-channel/SimpleEngine/blob/e55968fb5dde12e7d1508857eae9896486cfa4fc/SimpleEngineCore/src/SimpleEngineCore/Window.hpp#L35

ssf Defs
Почему?

Нарушение strict aliasing, типы A и B никак не соотносятся друг с другом.

ssf Defs
https://github.com/simple-coding-channel/SimpleEng...

А это к чему ? я не понял...

ssf-Defs Автор вопроса
Ilya Zviagin
А это к чему ? я не понял...

Я просто примером предоставил то место, где увидел это собственно

ssf-Defs Автор вопроса
Ilya Zviagin
что это?

Места, где получается нарушается strict aliasing?

ssf Defs
Места, где получается нарушается strict aliasing?

Я не могу утверждать однозначно, нарушается ли там strict aliasing

ssf Defs
Места, где получается нарушается strict aliasing?

Потом, там static_cast, он должен не допускать такое нарушение

ssf-Defs Автор вопроса
Ilya Zviagin
Потом, там static_cast, он должен не допускать так...

Как я понял, у нас есть две функции в API : void* glfwSetUserWindowPointer(GLFWwindow* window, void* pointer) void* glfwGetWindowUserPointer(GLFWwindow* window) В первой функции она принимает вторым типом кастомный указатель юзера этого апи, внутри сохраняя на него указатель. Получается, что strict aliasing нет и можно просто передавать ссылку на свою структуру и сохранять в нём значения окна?

А зачем так сложно то ? struct a{int aa;int aaa;}; struct b{int bb;int bbb;}; int main(void) { a x = {11,12}; b &y = reinterpret_cast<b&>(x) ; std::cout<<y.bb<<" "<<y.bbb<<"\n"; }

ssf-Defs Автор вопроса
Ilya Zviagin
Я эту функцию не нашёл

https://www.glfw.org/docs/3.0/group__window.html#ga17807ce0f45ac3f8bb50d6dcc59a4e06

Похожие вопросы

Обсуждают сегодня

Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
Кстати а покупал кто-нибудь ЭЦП для подписи кода? А то у меня на некоторых компах и ОС иногда SmartScreen винды программу за вирус принимал. Если купить такую ЭЦП и подписыват...
Дмитрий Завгородний
15
Есть магистры regex в чате? Задача: нужно написать regex который мэтчит полные (без сокращений по типу ::1/128) ipv6 адреса кроме 2001:0df7:cef7:29f7:52f7:adf7:2cf7:4ff7, при ...
Илья
5
Портфолио: Зовут меня Александр, мне 41 год. Город Киров. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github.co...
Magic
11
А кто-нибудь запихивал сборку перловых модулей/образов с perl приложениями в окружения без интернета (в специализированном CI/CD)? У меня сейчас есть ряд cpanfile, которые н...
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
14
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
8
Запускаю SIMD на Delphi 11 CE пишет: Exception class name: EJclError Exception message: Function not found: kernel32.dll.GetEnabledExtendedFeatures (0014763C){Jcl280.bpl } [7...
Александр Смоляков
10
Карта сайта