La langue dans la norme peut être attribuée à n3282, qui est une résolution pour les défauts 1207 et 1017. En particulier, la langue apparaît dans le projet de résolution pour défaut de 1207, et devraient être considérées dans le contexte de la norme, telle qu'elle se présentait au moment où ce vice a été abordée. À cette époque, il y avait une certaine inquiétude sur la réécriture de l'identité des expressions dans l'accès des membres des expressions à l'aide de *this
(9.3.1p3), en particulier dans le contexte de la fuite-retour-les déclarations de type (voir le numéro 945).
Si l'on compare le projet de résolution pour défaut de 1207, à terme, la langue dans n3282 et par la suite dans la norme, il y a une différence significative à 9.3.1p3:
Défaut 1207:
Quand un id-expression (5.1 [expr.prim]) qui ne fait pas partie d'un membre de classe de la syntaxe d'accès (5.2.5 [expr.ref]) et n'est pas utilisé pour former un pointeur sur membre (5.3.1 [expr.unaire.op]) est utilisé dans la déclaration d'une fonction membre de la classe X
, si la recherche d'un nom (3.4 [de base.recherche]) résout le nom de...
n3282 et C++11:
Quand un id-expression (5.1 [expr.prim]) qui ne fait pas partie d'un membre de classe de la syntaxe d'accès (5.2.5 [expr.ref]) et n'est pas utilisé pour former un pointeur sur membre (5.3.1 [expr.unaire.op]) est utilisé dans un membre de la classe X
, dans un contexte où l' this
peut être utilisé (5.1.1 [expr.prim.général]), si la recherche d'un nom (3.4 [de base.recherche]) résout le nom de [...]
Il est évident que le projet de résolution pour défaut de 1207 porté la conviction que l'identité des expressions (à un membre statique) dans les fonctions membres statiques aurait besoin d'être transformé *this
accès membres expressions et aurait donc besoin d'un accès à la nature et la valeur de la catégorie d' this
. Par les temps n3282 a été écrit, ce qui avait été résolu en faveur de la qualification des id de transformation (également 9.3.1p3) qui ne nécessite pas d' this
, mais la langue en 5.1.1p3 est resté de façon rudimentaire.
Je recommande de soulever la question sur les normes C++ discussion de groupe de discussion; il peut être possible d'obtenir les vestiges de la langue retiré un point de vue éditorial.