J'ai récemment vu cet extrait sur Internet :
class Human
{
int age;
public:
constexpr Human(int humansAge) : age(humansAge) {}
constexpr int GetAge() const { return age; }
};
int main(int argc, char const *argv[])
{
constexpr Human somePerson(15);
const int hisAge = somePerson.GetAge();
return 0;
}
Maintenant, j'ai comparé cette classe avec et sans le mot-clé constexpr
sur l'explorateur de compilateur et j'ai vu que le constructeur n'avait pas ses instructions sur le côté droit, mais la fonction GetAge
Je les ai eus. Maintenant, j'ai quelques questions :
- ¿Qué es?
constexpr
faire ici au constructeur et à la fonctionGetAge
? - Quel est le rôle de la
const
après le prototype de GetAge(), cela signifie-t-il que l'âge sera renvoyé comme une constante ? - Que se passe-t-il si je déclare
int hisAge
comme n'étant pas un gendarme ?
Merci d'avance.