Позволяет ли стандарт C ++ использовать typedef для переименования конструктора?

Я был удивлен, обнаружив, что в VC ++ 10 вы можете использовать typedef для изменения имени конструктора класса:

#include <iostream>

using namespace std;

class A
{
private:
    typedef A alias;

public:
    alias() { cout << "A ctor" << endl; }
};

int main()
{
    A(); // prints "A ctor"
    return 0;
}

Это стандартный C ++ или расширение Microsoft?

10
задан Ferruccio 4 January 2012 в 15:22
поделиться