«casting» etiketlenmiş sorular

Döküm, dönüştürmeye izin veriliyorsa, bir nesne türünün açıkça başka bir türe dönüştürüldüğü bir işlemdir. Bu süreç değer değişikliğine yol açabilir.

9
(String) veya .toString ()?
Object oParametreli bir yöntemim var . Bu yöntemde, Stringnull olmayan bir "o" nun olduğunu tam olarak biliyorum . Kontrol etmeye veya başka bir şey yapmaya gerek yoktur. Ona tam olarak bir Stringnesne gibi davranmalıyım . Sadece merak ediyorum - daha ucuz olanı - yayınlamak mı Stringyoksa kullanmak Object.toString()mı? Yoksa zaman …
89 java  casting 

10
Bir işaretçiyi tam sayıya dönüştürme
Mevcut bir kodu 64 bitlik bir makineye uyarlamaya çalışıyorum. Temel sorun, bir işlevde, önceki kodlayıcının işlevin kendisinde uygun türe dönüştürülen bir void * bağımsız değişkeni kullanmasıdır. Kısa bir örnek: void function(MESSAGE_ID id, void* param) { if(id == FOO) { int real_param = (int)param; // ... } } Tabii ki 64 …
88 c++  gcc  casting  64-bit  32-bit 



3
Win32 üzerinde unsigned int'e çift çevrim 2,147,483,648'e düşüyor
Aşağıdaki kodu derlemek: double getDouble() { double value = 2147483649.0; return value; } int main() { printf("INT_MAX: %u\n", INT_MAX); printf("UINT_MAX: %u\n", UINT_MAX); printf("Double value: %f\n", getDouble()); printf("Direct cast value: %u\n", (unsigned int) getDouble()); double d = getDouble(); printf("Indirect cast value: %u\n", (unsigned int) d); return 0; } Çıkışlar (MSVC x86): …

13
java: Bir değişkenin bir türden diğerine dinamik dönüşümünü nasıl yapabilirim?
Bir Java değişkeni için dinamik döküm yapmak istiyorum, döküm türü farklı bir değişkende saklanıyor. Bu normal döküm: String a = (String) 5; İstediğim bu: String theType = 'String'; String a = (theType) 5; Bu mümkün mü ve eğer mümkünse nasıl? Teşekkürler! Güncelleme Bir sınıfı HashMapaldığım bir sınıfla doldurmaya çalışıyorum . …

1
Bir döküm operatörü açık olabilir mi?
Yapıcılar söz konusu olduğunda, anahtar kelimeyi eklemek, explicithevesli bir derleyicinin programcının ilk niyeti olmadığında bir nesne oluşturmasını engeller. Böyle bir mekanizma döküm operatörleri için de mevcut mu? struct Foo { operator std::string() const; }; Burada, örneğin, Foobir atım yapabilmek isterdim std::string, ancak böyle bir rolün örtük olarak gerçekleşmesini istemiyorum.

4
Görüntüyü BufferedImage'a dönüştüren Java
StackOverflow'da bu bağlantı gibi bir soru zaten var ve kabul edilen cevap "çevrim" dir: Image image = ImageIO.read(new File(file)); BufferedImage buffered = (BufferedImage) image; Programımda deniyorum: final float FACTOR = 4f; BufferedImage img = ImageIO.read(new File("graphic.png")); int scaleX = (int) (img.getWidth() * FACTOR); int scaleY = (int) (img.getHeight() * FACTOR); …

3
Neden ücretsiz geri dönüş değerini geçersiz kılar?
C kullanan bir kitap okuyorum ( POSIX Threads tarafından Programlama, Butenhof, 1997) ve aşağıdaki satırla karşılaştım: (void)free(data); Burada, datatahsis edilmiş bir yapıya sadece bir işaretçi, data = malloc(sizeof(my_struct_t)); Neden sonucudur freeiçin dışlandığımdı void? C anlayışımdan, bu iki nedenden dolayı mantıklı görünmüyor: Serbest işlev zaten geri döner void Kod dönüş değerini …
82 c  casting  free  void  legacy-code 

8
C ++ 'da int numaralandırmanın genel yolu
Döküm için genel bir yolu var mı inthiç enumde C++? Bir intaralığına düşerse enumbir enumdeğer döndürmelidir , aksi takdirde bir exception. Genel olarak yazmanın bir yolu var mı ? Birden fazlası enum typedesteklenmelidir. Arka plan: Harici bir enum türüne sahibim ve kaynak kodu üzerinde denetimim yok . Bu değeri bir …
82 c++  casting  enums 

3
'System.Int32'den' System.Nullable`1'e geçersiz yayın [[System.Int32, mscorlib]]
Type t = typeof(int?); //will get this dynamically object val = 5; //will get this dynamically object nVal = Convert.ChangeType(val, t);//getting exception here Yukarıdaki kodda InvalidCastException alıyorum. Yukarıdakiler için basitçe yazabilirim int? nVal = val, ancak yukarıdaki kod dinamik olarak çalışıyor. Bir nesneye (burada val) sarılmış bir değer (int, float, …

3
Javac neden diğerlerine değil bazı imkansız kalıplara izin veriyor?
Bir döküm denerseniz Stringbir etmek java.util.Date, Java derleyici hatası yakalar. Peki derleyici aşağıdakileri neden hata olarak işaretlemiyor? List<String> strList = new ArrayList<>(); Date d = (Date) strList; Tabii ki, JVM bir ClassCastExceptionçalışma zamanında atar , ancak derleyici bunu işaretlemez. Davranış javac 1.8.0_212 ve 11.0.2 ile aynıdır.

6
Neden bu hak talebinde bulunulmayan tür cezalandırılan işaretçi uyarı derleyicisine özel?
Okuduğum çeşitli mesajları üzerinde yığın taşması RE: derefercing tip punned işaretçi hatası. Anladığım kadarıyla, hata aslında bir nesneye farklı tipte bir işaretçi (bir istisna yapılmış gibi gözükse de char*) üzerinden erişilme tehlikesinin anlaşılabilir ve makul bir uyarı olduğu uyarısıdır. Benim sorum aşağıdaki koda özgüdür: neden bir işaretçi adresi void**bu uyarı …
38 c  pointers  casting 

6
2 baytı işaretli bir 16 bit tam sayıya dönüştürmenin doğru yolu nedir?
Gelen bu cevap , Zwol bu iddiayı yaptı: İki bayt veriyi harici bir kaynaktan 16 bit işaretli tam sayıya dönüştürmenin doğru yolu aşağıdaki gibi yardımcı işlevlerdir: #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; } …

1
C ++ 'da, sayı sabitse veya değil ise, static_cast <unsigned> negatif sayı neden farklılık gösterir?
Ne araçlarının C ++ kuralları böyle eşit olduğu yanlış ?. Verilen: float f {-1.0}; bool equal = (static_cast&lt;unsigned&gt;(f) == static_cast&lt;unsigned&gt;(-1.0)); Örneğin, 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 

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.