56 votes

Pourquoi l'ordre de l'argument de modèle de substitution de la matière?

C++11

14.8.2 - Argument De Modèle Déduction - [temp.deduct]

7 La substitution se produit dans tous les types et expressions qui sont utilisés dans le type de fonction et paramètre de modèle déclarations. Les expressions ne comprennent pas seulement des expressions constantes telles que celles qui apparaissent dans les limites du tableau ou comme nontype modèle arguments, mais aussi des expressions générales (ie. non-expressions constantes) à l'intérieur d' sizeof, decltype, et d'autres contextes qui permettent non des expressions constantes.


C++14

14.8.2 - Argument De Modèle Déduction - [temp.deduct]

7 La substitution se produit dans tous les types et expressions qui sont utilisés dans le type de fonction et paramètre de modèle déclarations. Les expressions ne comprennent pas seulement des expressions constantes telles que celles qui apparaissent dans les limites du tableau ou comme nontype modèle arguments, mais aussi des expressions générales (ie. non-expressions constantes) à l'intérieur d' sizeof, decltype, et d'autres contextes qui permettent non des expressions constantes. La substitution des produits dans l'ordre lexical et s'arrête lorsqu'une condition qui provoque la déduction à l'échec est rencontré.



L'ajout de la phrase stipule explicitement la commande de substitution lorsque vous traitez avec les paramètres de modèle en C++14.

La commande de substitution est quelque chose qui le plus souvent n'est pas accordé beaucoup d'attention. Je n'ai pas encore trouvé un seul papier sur pourquoi cela est important. C'est peut-être parce que le C++1y n'a pas été standardisée encore, mais je suis en supposant un tel changement doit avoir été mis en place pour une raison.

La question:

  • Pourquoi et quand, de l'ordre de l'argument de modèle de substitution de la matière?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X