Retour chaîne de la fonction C ++

Retour chaîne de la fonction C ++
Un moyen d'identifier une série de chaînes en tant que membre de classe est spécifié dans la définition de C ++. La classe String contient des attributs comme un flux de bits, avec la possibilité de gérer un personnage à un octet. En C ++, nous pouvons récupérer une chaîne, mais nous devons toujours examiner comment la chaîne sera conservée et transférée. Parce que C ++ renvoie des éléments sur le tas, qui a une quantité finie d'espace, fournir d'immenses composants induire des problèmes de débordement de pile qui pourraient entraîner des erreurs et des défauts de sécurité.

Si nous pouvons retourner un objet std :: String de la bibliothèque de modèles standard, nous pouvons fournir un pointeur constant sur la chaîne. Vérifiez que la chaîne est conservée en mémoire statique. Cet article décrit diverses approches pour renvoyer une chaîne à partir d'une fonction C ++.

Utiliser la technique de la fonction std :: string ()

Retour par valeur est la technique préférable lors de la récupération des données de chaîne à partir des fonctions. Ayant renvoyé des chaînes relativement importantes par des données est efficace en raison du constructeur de déplacements dans la classe Std :: String. Il a été dit qu'un élément a déplacé du contenu sémantique s'il contient un constructeur de déplacements. Move-Sémane suggère que les données ne sont pas dupliquées à une nouvelle position lorsque la fonction revient, conduisant à un délai d'achèvement de fonction efficace.

#inclure
#inclure
#inclure
Utilisation de std :: cout; Utilisation de std :: endl;
Utilisation de Std :: String; Utilisation de Std :: Reverse;
String RevString (String & S)
String Rev (S.rbegin (), s.déchirer());
Retour Rev;

int main()
String str = "J'adore jouer au badminton";
couter << str << endl;
couter << RevString(str) << endl;
return exit_success;

Au début du programme, nous devons inclure trois fichiers d'en-tête. Pour les fonctions d'entrée et de sortie. Spécifie un ensemble de fonctions destinées à être utilisées sur des groupes d'éléments. Toute séquence d'éléments qui peuvent être récupérés à l'aide d'itérateurs ou de références est considéré comme une plage. Comme leur nom l'indique, sont utilisés pour fonctionner avec un ensemble de nombres. Nous appelons la fonction standard «cout» pour obtenir la sortie, «endl» standard, qui montre que le programme se produit de la ligne suivante, «String» standard, qui contient les fonctionnalités de la chaîne et «inverse» standard qui est utilisé pour acquérir le chaîne dans l'ordre inverse.

Maintenant, la fonction «revString ()» est appelée. Nous passons ici la chaîne définie comme un paramètre de cette fonction. Nous appliquons des fonctions rbegin () et rend (). Le RBEGIN () est une fonction intrinsèque C ++ qui fournit un itérateur inversé qui fait référence au dernier composant de la liste. Le Rend () est une fonction C ++ intégrée utilisée pour renvoyer un itérateur inversé qui mène au point avant le début de la liste. Nous entrons dans l'instruction «Return Rev» pour obtenir l'inverse de la chaîne.

Nous appliquons «endl», qui montre le curseur se déplace vers la ligne suivante du code. Pour imprimer l'ordre inversé de la chaîne spécifiée, nous avons utilisé «Revstring». Cette fonction contient la chaîne entrée comme argument. En fin de compte, «exit_success» est appliqué pour mettre fin au programme.

Utilisez la technique STD :: String & Function ()

Cette méthodologie permet l'utilisation du retour en référençant le format, qui serait une manière différente de résoudre cette situation. Même si le retour de l'illusion est la méthode la plus efficace pour récupérer des structures ou des classes massives, cela n'impliquerait aucun paramètre supplémentaire dans ce scénario par rapport à la stratégie antérieure. Il est important de se rappeler que nous n'utiliserions pas de référence pour remplacer une variable globale définie dans la fonction; Cela se traduira par une référence persistante.

#inclure
#inclure
#inclure
Utilisation de std :: cout; Utilisation de std :: endl;
Utilisation de Std :: String; Utilisation de Std :: Reverse;
String & revstr (string & s)
reverse (s.commence.fin());
Retour;

int main()
String str = "Technologie de l'information";
couter << str << endl;
couter << RevStr(str) << endl;
return exit_success;

Tout d'abord, nous intégrons trois bibliothèques>, et pour des fonctionnalités spécifiques. Nous utilisons la fonction standard «cout» pour récupérer la sortie, «endl» standard pour indiquer que le programme se poursuit sur la ligne suivante, «chaîne» standard pour conserver les fonctions de la chaîne et «inverse» standard pour obtenir la chaîne dans l'ordre inverse. Le pointeur de la chaîne 'revstr ()' est maintenant utilisé. La chaîne spécifiée est fournie comme paramètre à cette méthode. Nous appelons les fonctions begin () et end ().

Nous utilisons la déclaration «retour s» pour obtenir l'inverse de la chaîne. Maintenant, la fonction principale () sera invoquée. C'est là que la logique du programme est déclarée. Nous déclarons une chaîne «technologie de l'information». Cette chaîne est enregistrée dans la variable «str». La déclaration «cout» serait utilisée pour acquérir l'impression de la chaîne. Nous utilisons également «endl», qui indique que le curseur se déplacera vers la nouvelle ligne de code. «RevString» a été utilisé pour afficher la chaîne requise dans l'ordre inversé.

La chaîne spécifiée est transmise sous forme de paramètre à cette méthode. Enfin, le programme s'est terminé avec le succès de sortie de la commande.'

Utiliser la méthode de la table de charbon

De même, nous pourrions récupérer une chaîne à partir d'une fonction à l'aide d'un tableau de caractères. La classe String utilise un tableau persistant pour contenir des caractères. En invoquant la méthode intégrée, nous pouvons obtenir une référence au premier membre du caractère de ce tableau.

#inclure
#inclure
Utilisation de Namespace Std;
int main()

String str1 = "J'adore jouer au badminton";
String str2 = "Technologie de l'information";
char ch [50];
str1.copie (ch, 13, 0);
couter << "The new copied character array is : ";
couter << ch << endl;
couter << "Before swapping the first string is : ";
couter << str1 << endl;
couter << "Before swapping the second string is : ";
couter << str2 << endl;
str1.échange (str2);
couter << "After swapping the first string is : ";
couter << str1 << endl;
couter << "After swapping the second string is : ";
couter << str2 << endl;
retour 0;

Ici, nous introduisons des fichiers d'en-tête et pour utiliser la classe de chaîne. Parallèlement à cela, nous utilisons un espace de noms standard. Nous utilisons la fonction principale () et commençons à coder dans le corps de cette fonction. Nous initialisons deux chaînes. La première chaîne est conservée dans la variable «str1», et la deuxième chaîne est stockée dans la variable «str2». Le tableau de caractères est maintenant déclaré.

Nous spécifions la taille du tableau de caractères. La fonction Copy () est appelée. La sous-chaîne dans le tableau char cible spécifié dans les paramètres est copiée par cette méthode. Les trois arguments sont le tableau de caractères ciblé, la longueur à dupliquer et le point de départ dans la chaîne pour initier la duplication. Nous voulons afficher ce tableau de caractères en utilisant la déclaration «cout».

Les deux chaînes ont été montrées avant d'échanger en utilisant la déclaration «cout». Nous appliquons la fonction swap (), qui échange un contenu de chaîne avec un autre. Après échange, nous entrons à nouveau «cout» pour obtenir les cordes échangées. Appliquer «retour 0» pour mettre fin au code.

Conclusion

La classe String dans la bibliothèque C ++ standard comprend toutes les méthodes énumérées ci-dessus. Dans cet article, nous avons vu une variété de méthodologies pour renvoyer une chaîne à partir d'une fonction en c++. Diverses instances ont été utilisées pour décrire les méthodologies, y compris la technique std :: string & function () et la technique std :: string function ().