Использование union только экономит ценные биты в ОЗУ? Или также дает прирост в скоросте воспроизведения программы?

103
21 апреля 2022, 11:50

Есть код по объединению:

#include <iostream>
using namespace std;
union MyUnion{
    short a;
    int b;
    long int c;
};
int main(){
    
    MyUnion U;
    U.a = 5;
    cout<< U.a << endl;
    U.b = 66;
    cout<< U.b << endl;
    U.c = 24;
    cout<< U.c << endl;
    cout<< U.a << endl;
    U.c = 24;
    cout<< U.c << endl;
    cout<< U.b << endl;
}

Использование union только экономит ценные биты в ОЗУ? Или также дает прирост в скоросте воспроизведения программы за счет сэкономленных битов ОЗУ или это только чисто теоретически, на самом деле нет разницы по скорости если число сэкомленных битов ОЗУ до 1% от общего потребления памяти?

И также второй вопрос, у меня компилятор DevC++ дает результат:

5 66 24 24 24 24

-------------------------------- Process exited after 0.3357 seconds with return value 0 Для продолжения нажмите любую клавишу . . .

Хотя по мануалам, в частности C++ на примерах. Практика, практика и только практика. Автор: Орленко, Евдокимов указано что после строки U.c = 24; у U.b должно быть дефолтное значение, хотя программа сохраняет последнее значение переменой U.c для U.a и U.b. Это специфика компилятора или новый стандарт плюсов?

И что по этому поводу можно почитать?

READ ALSO
Перегрузка операнда ++

Перегрузка операнда ++

Необходимо перегрузить операцию ++ как движение по спискуВ чём ошибка?

115
почувствовать разницу inline и не inline метода

почувствовать разницу inline и не inline метода

подскажите, а как мне изменить тела конструкторов классов A и B, чтобы почувствовать разницу по производительности inline и не inline функций ??? или...

114
перегрузка оператор() через оператор[][] на c++ [дубликат]

перегрузка оператор() через оператор[][] на c++ [дубликат]

нужно так чтобы data[5][5] код выводил как data(5,5) и как результат выдавал произведение ixj, те

108
Гауссовский фильтр C++

Гауссовский фильтр C++

Написал программу, которая применяет фильтр Гаусса на зашумленное одноканальное изображениеПроблема в том, что на выходе оно получается...

100