Questions marquées «casting»

La diffusion est un processus dans lequel un type d'objet est explicitement converti en un autre type si la conversion est autorisée. Ce processus peut conduire à un changement de valeur.


4
Passer shared_ptr <Derived> comme shared_ptr <Base>
Quelle est la meilleure méthode pour passer un shared_ptrd'un type dérivé à une fonction qui prend un shared_ptrd'un type de base? Je passe généralement shared_ptrs par référence pour éviter une copie inutile: int foo(const shared_ptr&lt;bar&gt;&amp; ptr); mais cela ne fonctionne pas si j'essaye de faire quelque chose comme int foo(const …

7
Const_cast est-il sûr?
Je ne trouve pas beaucoup d'informations sur const_cast. La seule information que j'ai pu trouver (sur Stack Overflow) est: Le const_cast&lt;&gt;()est utilisé pour ajouter / supprimer const (ness) (ou volatile-ness) d'une variable. Cela me rend nerveux. L'utilisation d'un const_castcomportement pourrait-elle provoquer un comportement inattendu? Si oui, quoi? Sinon, quand est-il …

3
Lancer CGFloat pour flotter dans Swift
J'ai besoin de stocker une valeur en tant que Float, mais les données source sont CGFloat: let myFloat : Float = myRect.origin.x mais cela entraîne l'erreur du compilateur: 'NSNumber' n'est pas du sous-type 'Float' Donc, si je le lance explicitement comme ceci: let myFloat : Float = myRect.origin.x as Float …
91 casting  swift  cgfloat 


8
Lancer l'objet en T
J'analyse un fichier XML avec la XmlReaderclasse en .NET et j'ai pensé qu'il serait judicieux d'écrire une fonction d'analyse générique pour lire différents attributs de manière générique. J'ai proposé la fonction suivante: private static T ReadData&lt;T&gt;(XmlReader reader, string value) { reader.MoveToAttribute(value); object readData = reader.ReadContentAsObject(); return (T)readData; } Lorsque je …
91 c#  generics  casting 

9
(String) ou .toString ()?
J'ai une méthode avec un Object o paramètre. Dans cette méthode, je sais exactement qu'il y a un Stringin "o" qui n'est pas nul. Il n'est pas nécessaire de vérifier ou de faire autre chose. Je dois le traiter exactement comme un Stringobjet. Juste curieux - qu'est-ce qui est moins …
89 java  casting 

10
Différence entre la conversion et l'utilisation de la méthode Convert.To ()
J'ai une fonction qui jette un doublesur les stringvaleurs. string variable = "5.00"; double varDouble = (double)variable; Une modification de code a été archivée et le projet se construit avec l'erreur: System.InvalidCastException: Specified cast is not valid. Cependant, après avoir fait ce qui suit ... string variable = "5.00"; double …
89 c#  casting 




3
Le double cast en int non signé sur Win32 est tronqué à 2 147 483 648
Compiler le code suivant: 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; } Sorties (MSVC …

3
Pourquoi convertir la valeur de retour de free en null?
Je lis un livre ( Programmation avec des fils POSIX de Butenhof, 1997) qui utilise C, et je suis tombé sur la ligne suivante: (void)free(data); Ici, dataest juste un pointeur vers une structure allouée, data = malloc(sizeof(my_struct_t)); Pourquoi le résultat freeest-il lancé void? D'après ma compréhension de C, cela ne …
82 c  casting  free  void  legacy-code 


6
Pourquoi cette réclamation de déréférencement de pointeur punencé par type de déréférencement est-elle spécifique au compilateur?
J'ai lu divers articles sur Stack Overflow RE: l'erreur de pointeur punencé par déréférencement. Ma compréhension est que l'erreur est essentiellement l'avertissement du compilateur du danger d'accéder à un objet via un pointeur d'un type différent (bien qu'une exception semble être faite pour char*), ce qui est un avertissement compréhensible …
38 c  pointers  casting 

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.