static_cast, const_cast - C++ - Programmation
Marsh Posté le 23-11-2006 à 18:30:34
Merci mais est ce que "int a = (int)2.0;" exsite encore en C++, parce je voit encore souvent ce genre de transtypage dans un programme c++...
Marsh Posté le 23-11-2006 à 18:36:26
oui ça existe encore pour des raisons de compatibilité mais c'est caca
Marsh Posté le 23-11-2006 à 18:37:04
surtout que dans ton cas, int a = (int)2.0 est particulièrement stupide.
Marsh Posté le 23-11-2006 à 18:38:21
Merci...
Oui je sais que c'est stupide mais s'était juste un exemple
Marsh Posté le 23-11-2006 à 18:41:17
ce n'est pas la peine de mettre des cast si y en a pas besoin de toutes façons. si les *_cast ont des longs noms, ce n'est pas que pour les différencier : c'est aussi pour éviter les abus.
Marsh Posté le 23-11-2006 à 18:42:17
void *p;
int *i = static_cast<int*>(p); // ça ça a du sens.
// mais
p = i;
Marsh Posté le 23-11-2006 à 20:44:17
le cast C avec les parentheses est equivalent à un const_cast et un reinterpret_cast. Puissant mais dangereux.
Marsh Posté le 23-11-2006 à 17:04:57
Bonjour,
Est-ce que cette ligne est du 100% C ou aussi du C++ ? :
int a = (int)2.0;
Quel est l'interet d'utiliser ceci au lieu de la première ligne ? :
int a = static_cast<int>(2.0);
Merci d'avance...