Запитання з тегом «casting»

Кастинг - це процес, коли тип об'єкта явно перетворюється на інший тип, якщо дозволено перетворення. Цей процес може призвести до зміни вартості.

6
Як передати елементи масиву в рядки в PHP?
Якщо у мене є масив з об’єктами: $a = array($objA, $objB); (кожен об'єкт має __toString()-метод) Як я можу передати всі елементи масиву в рядок, щоб масив $aмістив не більше об'єктів, крім їх рядкового представлення? Чи існує однокласний вкладиш, чи мені доводиться вручну перебирати масив?
74 php  string  arrays  casting 

3
Чому javac допускає деякі неможливі ролі, а не інші?
Якщо я спробую передати " Stringa" java.util.Date, компілятор Java виявляє помилку. То чому компілятор не позначає таке як помилку? List<String> strList = new ArrayList<>(); Date d = (Date) strList; Звичайно, JVM кидає час ClassCastExceptionвиконання, але компілятор не позначає це. Поведінка однакова з javac 1.8.0_212 та 11.0.2.

6
Чому це твердження, що вимагається перенаправлення на тип-покарання покажчика, що відповідає компілятору попередження?
Я читав різні повідомлення про Stack Overflow RE: помилка вказівника, що відміняє відмітку. Я розумію, що помилка - це по суті попередження компілятора про небезпеку доступу до об'єкта через вказівник іншого типу (хоча, як видається, робиться виняток char*), що є зрозумілим і розумним попередженням. Моє запитання стосується коду, наведеного нижче: …
38 c  pointers  casting 

6
Який правильний спосіб перетворити 2 байти в підписане 16-бітове ціле число?
У цій відповіді , zwol зробив цю заяву: Правильний спосіб перетворення двох байтів даних із зовнішнього джерела в 16-бітове ціле число - це допоміжні функції: #include <stdint.h> int16_t be16_to_cpu_signed(const uint8_t data[static 2]) { uint32_t val = (((uint32_t)data[0]) << 8) | (((uint32_t)data[1]) << 0); return ((int32_t) val) - 0x10000u; } int16_t …

1
Чому в C ++ різняться static_cast <без підписання> від'ємних чисел, якщо число постійне чи ні
Що за правила C ++, що означає рівне , помилково ?. Подано: float f {-1.0}; bool equal = (static_cast&lt;unsigned&gt;(f) == static_cast&lt;unsigned&gt;(-1.0)); Наприклад, https://godbolt.org/z/fcmx2P #include &lt;iostream&gt; int main() { float f {-1.0}; const float cf {-1.0}; std::cout &lt;&lt; std::hex; std::cout &lt;&lt; " f" &lt;&lt; "=" &lt;&lt; static_cast&lt;unsigned&gt;(f) &lt;&lt; '\n'; std::cout &lt;&lt; …
28 c++  casting 

2
Лиття посилання функції, що створює недійсний покажчик?
Я відслідковую помилку в коді сторонньої сторони, і я звузив її до чогось уздовж лінії. use libc::c_void; pub unsafe fn foo() {} fn main() { let ptr = &amp;foo as *const _ as *const c_void; println!("{:x}", ptr as usize); } Починаючи з стабільного 1,38.0, це друкує функцію вказівника, але бета …

1
Явний, статичний тип відливання (примус) у Хаскеллі
Проблема Розглянемо наступну проблему дизайну в Haskell. У мене є простий, символічний EDSL, в якому я хочу висловити змінні та загальні вирази (багатоваріантні многочлени), такі як x^2 * y + 2*z + 1. Крім того, я хочу висловити певні символічні рівняння над виразами, скажімо x^2 + 1 = 1, так …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.