Я пытаюсь перенести старый 32-разрядный код на 64 бит. В этом случае у нас есть такой союз:Портирование кода устаревшего кода на 64 бит в C++
union ptType
{
int * iPtr;
short * sPtr;
long * lPtr;
bool * bPtr;
double * dPtr;
};
Как вы можете догадаться, этот союз используется для хранения адресов всех этих типов. Я читал о большом размере указателя и изменении арифметики в 64 бит. Но я не слишком уверен в этом поведении. Этот код, похоже, работает в QA, но я больше опасаюсь производства, так как там будет огромный трафик.
Как портирование на 64 бит влияет на поведение кода?
Вы не сказали нам о текущем поведении кода, так как мы можем знать, как это изменится? –
Тип данных не имеет собственного поведения. ptType - это тип данных. У меня будет поведение, когда оно используется другим кодом. Итак, какое использование вас беспокоит - можете ли вы опубликовать код, используя профсоюз, о котором вы беспокоитесь? – user93353
Я забочусь о том, что указатель перечисления хранится, а позже он открывается с помощью указателя int. Как он будет себя вести в этом конкретном случае? У компилятора, который мы запускаем, все указатели имеют одинаковый размер. Но я думаю, что это не гарантировано. – naveen