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

Если написать вот так в коде int64_t(-1), то приведение int-а

выполнится в рантайме или в компайл тайме?

26 ответов

4 просмотра

проверь

d7d1cd- Автор вопроса

почему тебя это беспокоит?

d7d1cd
Как?

godbolt посмотри что получится

в компайл

по идее при выполнении, ты ведь инициализируешь чем-то

d7d1cd- Автор вопроса
Alexander Karaev
почему тебя это беспокоит?

Наверное потому, что люди не зря стали придумывать constexpr и consteval. Хотят, чтобы больше было сделано в компайлтайме.

d7d1cd- Автор вопроса
d7d1cd
Наверное потому, что люди не зря стали придумывать...

так чем твой вопрос обусловлен? скоростью работы программы? поведение не то, которое ожидаешь? я без подвоха спросил, хочу понимать мотивацию вопроса

int64_t(-1) и static_cast<int64_t>(-1) идентичны в данном контексте

d7d1cd- Автор вопроса
Alexander Karaev
int64_t(-1) и static_cast<int64_t>(-1) идентичны в...

А почему тут это работает, а в случае auto v = MyIntegerType(-1) не будет?

d7d1cd
А почему тут это работает, а в случае auto v = MyI...

что такое MyIntegerType? класс? но ведь int64_t - не класс

d7d1cd- Автор вопроса
d7d1cd
А как правильно называть int64_t?

так и называй, всякие ll это бесячее и не понятное

d7d1cd
А как правильно называть int64_t?

это алиас (на какой-то из фундаментальных типов)

d7d1cd- Автор вопроса
Alexander Karaev
это алиас (на какой-то из фундаментальных типов)

Хорошо. Тогда, получается, для приведения к таким типам можно никогда не применять static_cast? Можно просто писать int64_t(val), int(val) или double(8)

это уже вопрос стиля. если речь про литерал, то лучше использовать суффиксы (кроме случаев, когда тип неизвестен - типа int64_t - там под капотом может быть long/long long). если речь про каст рантайм значения, то предпочтительнее static_cast, т.к. int64_t(..) ничем не лучше C-style cast'а

d7d1cd- Автор вопроса
Alexander Karaev
это уже вопрос стиля. если речь про литерал, то лу...

Что использовать, когда тип под капотом не известен?

d7d1cd- Автор вопроса
Alexander Karaev
вопрос стиля и вкуса

Ок. Крайний вопрос по этой теме. Чем int64_t(val) хуже статик каста?

d7d1cd
Ок. Крайний вопрос по этой теме. Чем int64_t(val) ...

не могу придумать хороших аргументов, кроме того, что он эквивалентен C-style касту, который общепринято плох

d7d1cd
Ок. Крайний вопрос по этой теме. Чем int64_t(val) ...

это можно нагуглить, чем отличаются

Не проще ли использовать 64 битный целочисленный литерал?

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

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

читать файл максимально быстро? странный вопрос))
zamtmn
53
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
17
или вы считаете муит дает знание?
супер_лох_3000 альфа версия
12
А кто такой мужчина в твоем понимании Азиз?
who?です 🐈
11
Ну значит тебе повезло, мы же про транк говорим оба?
Александр (Rouse_) Багель
11
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Всем ку. Подскажите, если задекларировал массив так: int arr[10] = {1, 2, 3, 4}, то в arr[4] будет мусор или нуль?
Sasha K
14
буквально один оставшийся вопрос при выполнении строчки mov eax, 5 операнд "5" будет присутствовать где-либо в памяти (любой), кроме как в памяти блока .code? подвопрос: как...
12
Карта сайта