Un code valide à la fois en C et en C++ peut-il se comporter différemment ?
Bonjour à tous ! Je suis un développeur C++ débutant, mais à l'université on nous obligeait à écrire en C. Maintenant, j'ai remarqué une chose étrange : parfois le même code se compile à la fois en C et en C++, mais fonctionne complètement différemment. Par exemple, j'ai écrit un petit programme qui utilise sizeof pour un string literal et le compare avec un pointeur.
Voici le code :
```c
#include
int main() {
char arr[] = "Hello";
char *ptr = "Hello";
if (sizeof(arr) == sizeof(ptr)) {
printf("Les tailles sont égales\n");
} else {
printf("Les tailles sont différentes\n");
}
return 0;
}
```
En C++, j'ai obtenu le message "Les tailles sont différentes", et en C aussi — "Les tailles sont différentes", mais j'ai entendu dire qu'il existe des exemples où le comportement diffère radicalement. Un code valide à la fois en C et en C++ peut-il se comporter différemment ? Si oui, donnez un exemple concret avec une explication. Merci d'avance !
<<>>