Size: a a a

2020 September 01

VR

Vladyslav Ryuzaki in pro.cxx
R G
хм, а другие касты могут не разрешить делать указатель на минус что-то?
Да
источник

RG

R G in pro.cxx
а, некая защита от дурака..
источник

RG

R G in pro.cxx
суть понял, придется читать про все эти касты
источник

RG

R G in pro.cxx
сишнику понять трудно, он привык к круглым скобочкам
источник

VR

Vladyslav Ryuzaki in pro.cxx
R G
сишнику понять трудно, он привык к круглым скобочкам
Ну, компилятор хочет знать, что именно ты хочешь от каста) он там и свои проверки сделает
источник
2020 September 02

P

PRoSToC0der in pro.cxx
N 2
почему некоторые пишут auto fun() -> bool в чем преимущество этого?
названия функций по одному столбику идут (аля выравнивание), хотя если спецификаторов навесить...

некоторые ради выравнивания пишут так:
bool
fun()
источник

P

Pepe 🐸 in pro.cxx
R G
привет, можете объяснить почему здесь reinterpret_cast<char*> ? Я попробовал заменить на обычный (char *) даже без варнов компилится..
                   IMAGE_DOS_HEADER dos_header;
 pefile.read(reinterpret_cast<char*>(&dos_header), sizeof(IMAGE_DOS_HEADER));
 if(pefile.bad() || pefile.eof())
 {
   std::cout << "Unable to read IMAGE_DOS_HEADER" << std::endl;
   return 0;
 }
1) When the C-style cast expression is encountered, the compiler attempts to interpret it as the following cast expressions, in this order:
a) const_cast<new_type>(expression);
b) static_cast<new_type>(expression), with extensions: pointer or reference to a derived class is additionally allowed to be cast to pointer or reference to unambiguous base class (and vice versa) even if the base class is inaccessible (that is, this cast ignores the private inheritance specifier). Same applies to casting pointer to member to pointer to member of unambiguous non-virtual base;
c) static_cast (with extensions) followed by const_cast;
d) reinterpret_cast<new_type>(expression);
e) reinterpret_cast followed by const_cast.
The first choice that satisfies the requirements of the respective cast operator is selected, even if it cannot be compiled (see example). If the cast can be interpreted in more than one way as static_cast followed by a const_cast, it cannot be compiled.


в данном случае reinterpret_cast будет эквивалентен сишному.
источник

d

d7d1cd in pro.cxx
Vladyslav Ryuzaki
Не юзай c cast
В системе IBM i есть апишка, у которой есть параметр char*. Через него она возвращает число int. То есть, при вызове этой апишки надо кастить int к char*. А вы говорите не юзай.
источник

АВ

Александр Водянников... in pro.cxx
логичнее было было void* тогда уж, в Win API такое очень часто - когда можно разные параметры(типы) указывать/получать
источник

d

d7d1cd in pro.cxx
Александр Водянников
логичнее было было void* тогда уж, в Win API такое очень часто - когда можно разные параметры(типы) указывать/получать
Согласен. Но сделано вот так почему-то.
источник

AK

Andrei K in pro.cxx
Pavel Kazakov
Опять "методички" какие-то, таблетки утром не все доел, чтоли? Уже который раз эту шизу вижу. :/
Чувак напрашивается на бан.
источник

V🇺

Vladislav 🇺🇸🚜🇷🇺... in pro.cxx
Andrei K
Чувак напрашивается на бан.
уже
источник

AK

Andrei K in pro.cxx
А. Помянем.
источник

IZ

Ilia Zviagin in pro.cxx
Roman na
У тебя проблема с методичкой. Ты сел в лужу и начал задним числом её менять, т.е. попросту врать. Давай на примере твоих маня-аналогий. Я сообщил, что база в двух машинах одна. Далее сослался на реалии производства. Ты же ссылаешься на "одна бабка сказал" и рекламную методичку.

Далее ты понял, что сел в лужу и начал врать. Начал утверждать, что я сообщал "одинаковые машины", хотя сообщал "Одинаковые платформы"
А этого?
источник

AK

Andrei K in pro.cxx
Про него и речь
источник

IZ

Ilia Zviagin in pro.cxx
Andrei K
Про него и речь
Так это два разных
источник

AK

Andrei K in pro.cxx
Не. Один и тот же. Roman na
источник

AK

Andrei K in pro.cxx
Всё ок.
источник

AK

Andrei K in pro.cxx
Илья, уходи.
источник

АК

Александр Караев... in pro.cxx
Вопрос по концептам.
Есть у меня
template <class T> concept foo = ...;
Почему запретили писать
template <foo T> concept bar = ...;
или
template <class T> requires foo<T> concept bar = ...;
(gcc говорит error: a concept cannot be constrained), вынудив вместо этого писать
template <class T> concept bar = foo<T> && ...;
?
Чем руководствовались при добавлении этого требования?
источник