Вопросы по теме 'type-punning'
Исправление для разыменования указателя с типом, которое нарушает строгий псевдоним.
Я пытаюсь исправить два предупреждения при компиляции конкретной программы с использованием GCC. Предупреждения:
предупреждение: разыменование указателя с каламбуром типа нарушит правила строгого псевдонима [-Wstrict-aliasing]
и двумя...
68325 просмотров
schedule
06.03.2024
освободить/удалить объединение malloc/новый массив в C/C++
Я работал и рассматривал возможность использования профсоюза. Я отказался от этого, потому что дизайн действительно требовал структуры/класса, но в конечном итоге это привело к следующему гипотетическому вопросу:
Предположим, у вас есть союз,...
3598 просмотров
schedule
22.03.2023
Является ли неопределенным поведением вызов функции с указателями на разные элементы объединения в качестве аргументов?
Этот код выводит разные значения после компиляции с -O1 и -O2 (как gcc, так и clang):
#include <stdio.h>
static void check (int *h, long *k)
{
*h = 5;
*k = 6;
printf("%d\n", *h);
}
union MyU
{
long l;
int i;
};
int main...
253 просмотров
schedule
28.01.2024
Разрешение перегрузки шаблона функции
Я хотел написать несколько шаблонных функций для обработки каламбура определенным образом, поэтому я придумал эти две функции. Первый берет объект и с помощью каламбура преобразует его в другой. Это гарантирует, что оба типа являются POD и имеют...
444 просмотров
schedule
03.07.2023
Как работает printf? Почему выход другой?
Рассмотрим эти две программы:
#include <stdio.h>
int main()
{
int z = 6.4;
printf("%d %d", z, 6.4);
return 0;
}
Выход 6 -1717986918 .
#include <stdio.h>
int main()
{
int z = 6.4;
printf("%d %d", 6.4, z);
return...
233 просмотров
schedule
07.03.2022
Проблема каламбура в C++
У меня есть класс шаблона с bool в качестве параметра шаблона Dynamic<bool> . Независимо от того, является ли параметр истинным или ложным, он имеет точно такие же элементы данных. они просто отличаются своими функциями-членами.
Есть одна...
319 просмотров
schedule
04.03.2024