Je suis tombé sur le programme suivant, qui compile sans erreurs ou même avertissements:
int main(){
<:]{%>; // smile!
}
Que fait le programme, et quelle est cette expression souriante?
Je suis tombé sur le programme suivant, qui compile sans erreurs ou même avertissements:
int main(){
<:]{%>; // smile!
}
Que fait le programme, et quelle est cette expression souriante?
Le programme utilise des bigrammes pour représenter les suivantes:
[] {};
C'est une expression lambda qui ne fait rien. Les symboles correspondants ont ces équivalents:
<: = [
%> = }
Si elles sont généralement inutiles aujourd'hui, bigrammes sont utiles lorsque votre clavier manque de certaines clés nécessaires à l'utilisation de C++de base de la source de jeu de caractères, à savoir le graphique. La combinaison des caractères qui composent un digraphe sont traitées comme un seul jeton. Ce à son tour, fait insuffisamment équipés de claviers ou d'autres matériels ou logiciels.
Le programme utilise des digrammes , qui permettent la programmation en C ++ avec des claviers qui ne possèdent pas les clés requises par C ++.
Le code résout à ceci:
int main(){
[]{}; // smile!
}
int main(){ <:]{%>; // smile! }
C'est essentiellement une expression Lambda (Lambda expression est l'un de C++11 fonctions) à l'aide de bigrammes (les deux digraphes et trigraphs fonctionne sur le C++):
[] {};
En utilisant uniquement des bigrammes:
<:]<%}; <:]<%%>; [:>{%>; // like my cubic hat? [:><%}; [:><%%>;
Les mélanger avec Trigraphs:
<:??)<%??>; // popeye ??(:>{??>; // pirate
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.