Quelques question sur string
Bonsoir à tous,
J'étudie le livre Accelerated C++ et j'en suis au Chapter one :lol:, vraiment très intéressant.
J'ai presque tout compris le fonctionnement de ce code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| #include <iostream>
#include <string>
int main()
{
std::cout << "What's your first name ? :" ;
std::string name;
std::cin >> name;
const std::string message = "Hello " + name + "!" ;
const std::string espaces(message.size(), ' ');
const std::string second = "* " + espaces + " *";
const std::string first(second.size(), '*');
std::cout << std::endl ;
std::cout << first << std::endl;
std::cout << second << std::endl;
std::cout << "* " << message << " *" << std::endl;
std::cout << second << std::endl;
std::cout << first << std::endl;
return 0;
} |
La seule chose que j'ai du mal c'est:
Code:
const std::string espaces(message.size(), ' ');
(message.size(), ' ');
-size est ce quelque chose d'intégrer et non une simple variable ?
Le fonctionnement de ce code serait donc :
espaces de type string vaut un entier qui est égal à la longueur de message par ' ' ?
Comment cela se fait il que message.size() compte le nombres de caractères/espaces alors qu'il n'y a pas de boucle pour parcourir la chaine ?
Merci