J'ai le code suivant, qui utilise une classe de chaîne Unicode à partir d'une bibliothèque que je vous écris:Comment définir un transtypage implicite de ma classe sur un scalaire?
#include <cstdio>
#include "ucpp"
main() {
ustring a = "test";
ustring b = "ing";
ustring c = "- -";
ustring d;
d = "cafe\xcc\x81";
printf("%s\n", (a + b + c[1] + d).encode());
}
La méthode encode des instances de classe ustring convertit l'Unicode interne en UTF-8 char *. Cependant, parce que je n'ai pas accès à la définition de la classe char, je ne suis pas sûr de la façon dont je peux définir un transtypage implicite (de sorte que je n'ai pas à appeler manuellement encoder lors de l'utilisation avec printf, etc.).
+1 Bien meilleure explication que la mienne :) – AraK
Merci beaucoup pour les conseils. Je vais réfléchir sur les avantages/inconvénients et tester si un implicite est vraiment bénéfique. –
(Je suis désolé de ne pas avoir encore reçu votre réponse, donc je limite ma fréquence d'acceptation donc je dois attendre quelques minutes) –