Size: a a a

2021 March 02

А

Андрей in supapro.cxx
Nastya Medveda
в итоге есть два pure C++  способа приведения. При том, что вводить способ int(value) и советовать им не пользоваться — довольно странное решение.
Но не для указателей и тд
источник

NM

Nastya Medveda in supapro.cxx
я полагаю, что static_cast более всеяден к типам, но это все равно не объясняет зачем потребовался способ а-ля Си.
источник

А

Андрей in supapro.cxx
Nastya Medveda
я полагаю, что static_cast более всеяден к типам, но это все равно не объясняет зачем потребовался способ а-ля Си.
Это каст уровня компиляции, если будете кастовать классы он проверит или они наследуются
источник

А

Андрей in supapro.cxx
Nastya Medveda
я полагаю, что static_cast более всеяден к типам, но это все равно не объясняет зачем потребовался способ а-ля Си.
А с каст ничерта не проверит а просто кастанет и не сдвинет указатели на плейс класса в памяти
источник

S

Stepan in supapro.cxx
Nastya Medveda
я полагаю, что static_cast более всеяден к типам, но это все равно не объясняет зачем потребовался способ а-ля Си.
static_c используется для преобразований между совместимыми типами
источник

NM

Nastya Medveda in supapro.cxx
Андрей
А с каст ничерта не проверит а просто кастанет и не сдвинет указатели на плейс класса в памяти
то есть если я привожу указатели, то мне использовать inb(value), а если совместимые типы, то static_cast?
источник

D

Dmitriy in supapro.cxx
Nastya Medveda
Прата пишет что из Си пришел (int)value, а int(value) - pure c++
Второе - не каст, а инициализация с разрешением преобразований
источник

NM

Nastya Medveda in supapro.cxx
Dmitriy
Второе - не каст, а инициализация с разрешением преобразований
А что именно я инициализирую в таком случае?
int main() {
   double pi {3.14};
   std::cout << static_cast<int>(pi) << std::endl;
}
источник

D

Dmitriy in supapro.cxx
Nastya Medveda
А что именно я инициализирую в таком случае?
int main() {
   double pi {3.14};
   std::cout << static_cast<int>(pi) << std::endl;
}
Я отвечал на конкретное сообщение, где не было статик каста
источник

S

Stepan in supapro.cxx
Nastya Medveda
то есть если я привожу указатели, то мне использовать inb(value), а если совместимые типы, то static_cast?
Для указателей reinterpret_c
источник

DP

Denis Paukaev in supapro.cxx
Stepan
Для указателей reinterpret_c
не надо
источник

D

Dmitriy in supapro.cxx
Stepan
Для указателей reinterpret_c
Я предлагаю перестать наперебой давать новичкам вредные советы
источник

D

Dmitriy in supapro.cxx
Denis Paukaev
не надо
+
источник

S

Stepan in supapro.cxx
А что юзать?
источник

D

Dmitriy in supapro.cxx
Stepan
А что юзать?
Мозг
источник

SS

Sergey Sobolev in supapro.cxx
Nastya Medveda
А что именно я инициализирую в таком случае?
int main() {
   double pi {3.14};
   std::cout << static_cast<int>(pi) << std::endl;
}
используйте всегда статик каст, если вы будете его неправильно использовать, компилятор вам об этом скажет ошибкой. Если собираетесь кастить базовый к дочернему классы, можно подумать в сторону dynamic_cast.
источник

S

Stepan in supapro.cxx
А по сути вопроса?
источник

ПК

Побитый Кирпич... in supapro.cxx
Denis Paukaev
первый из С пришёл, в С++ его не надо использовать
Не надо конструктор использовать?)
источник

NM

Nastya Medveda in supapro.cxx
Sergey Sobolev
используйте всегда статик каст, если вы будете его неправильно использовать, компилятор вам об этом скажет ошибкой. Если собираетесь кастить базовый к дочернему классы, можно подумать в сторону dynamic_cast.
спасибо. Теперь понятно.
источник

S

Stepan in supapro.cxx
static_cast тогда
источник