Pertanyaan yang diberi tag «casting»

Casting adalah proses di mana jenis objek secara eksplisit dikonversi ke jenis lain jika konversi diizinkan. Proses ini dapat menyebabkan perubahan nilai.


3
Mengapa mengembalikan nilai pengembalian gratis?
Saya membaca buku ( Pemrograman dengan POSIX Threads oleh Butenhof, 1997) yang menggunakan C, dan saya menemukan baris berikut: (void)free(data); Di sini, datahanya sebuah pointer ke struct yang dialokasikan, data = malloc(sizeof(my_struct_t)); Mengapa akibat freedilemparkan void? Dari pemahaman saya tentang C, ini sepertinya tidak masuk akal karena dua alasan: Fungsi …
82 c  casting  free  void  legacy-code 

3
Mengapa javac memungkinkan beberapa pemeran yang tidak mungkin dan yang lainnya tidak?
Jika saya mencoba untuk melemparkan Stringke java.util.Date, kompiler Java menangkap kesalahan. Jadi mengapa kompiler tidak menandai yang berikut sebagai kesalahan? List<String> strList = new ArrayList<>(); Date d = (Date) strList; Tentu saja, JVM melempar ClassCastExceptionpada saat runtime, tetapi kompiler tidak menandainya. Perilaku ini sama dengan javac 1.8.0_212 dan 11.0.2.

6
Mengapa ini menyatakan kompiler khusus peringatan jenis pointer dihukum?
Saya telah membaca berbagai posting di Stack Overflow RE: kesalahan pointer-jenis dihukum-derefercing. Pemahaman saya adalah bahwa kesalahan pada dasarnya adalah peringatan kompiler dari bahaya mengakses suatu objek melalui pointer dari tipe yang berbeda (meskipun pengecualian tampaknya dibuat untuk char*), yang merupakan peringatan yang dapat dimengerti dan masuk akal. Pertanyaan saya …
38 c  pointers  casting 

6
Apa cara yang benar untuk mengonversi 2 byte ke integer 16-bit yang sudah ditandatangani?
Dalam jawaban ini , zwol membuat klaim ini: Cara yang benar untuk mengkonversi dua byte data dari sumber eksternal menjadi integer bertanda 16-bit adalah dengan fungsi pembantu seperti ini: #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) …

1
Mengapa di C ++ lakukan static_cast <unsigned> dari angka negatif berbeda jika jumlahnya konstan atau tidak
Apa C ++ aturan yang berarti sama adalah palsu ?. Diberikan: float f {-1.0}; bool equal = (static_cast&lt;unsigned&gt;(f) == static_cast&lt;unsigned&gt;(-1.0)); Misalnya 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; "cf" …
28 c++  casting 

1
Pemain tipe implisit, statis (paksaan) di Haskell
Masalah Pertimbangkan masalah desain berikut ini di Haskell. Saya memiliki, EDSL simbolis sederhana di mana saya ingin mengekspresikan variabel dan ekspresi umum (polinomial multivariat) seperti x^2 * y + 2*z + 1. Selain itu, saya ingin mengekspresikan persamaan simbolik tertentu atas ekspresi, katakanlah x^2 + 1 = 1, serta definisi …

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.