Maison >développement back-end >C++ >Pourquoi `decltype((...))` renvoie-t-il une référence alors que `decltype(...)` ne le fait pas ?
Comprendre la signification des parenthèses dans decltype((...))
L'utilisation de doubles parenthèses dans decltype((... )) a un impact subtil mais important sur le type déduit par l'opérateur decltype, comme en témoigne l'exemple du C 17 Function Definition Concurrency (FCD).
Lorsqu'il est appliqué à un identifiant sans parenthèses (expression id) ou à une expression d'accès de membre de classe, decltype renvoie le type de l'entité référencée. Cependant, lorsque l'expression est une lvalue (une variable ou une expression faisant référence à un emplacement mémoire), decltype préfixe une référence supplémentaire (&) avant le type de l'entité.
Dans l'exemple FCD :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!