CPP_LECTS_RUS Telegram 82
Всем привет. Потёр немного оффтопика про fixed-width типы (int8_t, int16_t и т.д.) из другой ветки, но я вижу у людей накипело и предлагаю для on-topic обсуждения эту ветку.

Пока что моё нынешнее личное отношение такое: fixed-width типы это зло и любое их применение это ошибка. Но у меня действительно тут объективно слабовато с аргументацией.

По пунктам из того что есть:

(1)

Если у вас есть 32-битная архитектура (например 32-битный ARM или RISCV) и вы использовали в программе int64_t, как компилятору и библиотеке это трактовать? Вы ждёте ошибку компиляции или вы ждёте int_least64_t и обработку по кускам с хранением в двух регистрах и т.д.? Если да то почему собственно и кто вам это обещал?

(2)

Что вы вообще хотите сказать используя такие типы? Что ваша программа не будет работать если тут не 64 бита? Что вы хотели бы чтобы тут было 64 бита? Что вам всё равно сколько тут бит но вы считаете себя умнее компилятора и вот соптимизировали для x86?

В первом случае это static assert.

(3)

Люди недооценивают опасность (даже в случае если точные 64 бита есть) при переносе с платформы на платформу типов которые меняют статус в зависимости от дефайна. Рассмотрим две платформы на одной из которых int64_t определён в int, а на другой в long long. Допустим вы заводите битфилд такого типа. Вы понимаете последствия?

С удовольствием послушаю что вы думаете на эту тему и может быть скорректирую своё мнение. Только пожалуйста вежливо.

#questions
👍27🔥9🤔6🤷‍♂4🤡2🥴2🗿1🤷1



tgoop.com/cpp_lects_rus/82
Create:
Last Update:

Всем привет. Потёр немного оффтопика про fixed-width типы (int8_t, int16_t и т.д.) из другой ветки, но я вижу у людей накипело и предлагаю для on-topic обсуждения эту ветку.

Пока что моё нынешнее личное отношение такое: fixed-width типы это зло и любое их применение это ошибка. Но у меня действительно тут объективно слабовато с аргументацией.

По пунктам из того что есть:

(1)

Если у вас есть 32-битная архитектура (например 32-битный ARM или RISCV) и вы использовали в программе int64_t, как компилятору и библиотеке это трактовать? Вы ждёте ошибку компиляции или вы ждёте int_least64_t и обработку по кускам с хранением в двух регистрах и т.д.? Если да то почему собственно и кто вам это обещал?

(2)

Что вы вообще хотите сказать используя такие типы? Что ваша программа не будет работать если тут не 64 бита? Что вы хотели бы чтобы тут было 64 бита? Что вам всё равно сколько тут бит но вы считаете себя умнее компилятора и вот соптимизировали для x86?

В первом случае это static assert.

(3)

Люди недооценивают опасность (даже в случае если точные 64 бита есть) при переносе с платформы на платформу типов которые меняют статус в зависимости от дефайна. Рассмотрим две платформы на одной из которых int64_t определён в int, а на другой в long long. Допустим вы заводите битфилд такого типа. Вы понимаете последствия?

С удовольствием послушаю что вы думаете на эту тему и может быть скорректирую своё мнение. Только пожалуйста вежливо.

#questions

BY C++ and other lectures


Share with your friend now:
tgoop.com/cpp_lects_rus/82

View MORE
Open in Telegram


Telegram News

Date: |

Other crimes that the SUCK Channel incited under Ng’s watch included using corrosive chemicals to make explosives and causing grievous bodily harm with intent. The court also found Ng responsible for calling on people to assist protesters who clashed violently with police at several universities in November 2019. Your posting frequency depends on the topic of your channel. If you have a news channel, it’s OK to publish new content every day (or even every hour). For other industries, stick with 2-3 large posts a week. Telegram channels enable users to broadcast messages to multiple users simultaneously. Like on social media, users need to subscribe to your channel to get access to your content published by one or more administrators. Write your hashtags in the language of your target audience. “Hey degen, are you stressed? Just let it all out,” he wrote, along with a link to join the group.
from us


Telegram C++ and other lectures
FROM American