开发者

Is there a list of which compiler supports which part of the C++ standard?

I'm just confused about c++'s standards right now,

I know there is three versions right now: c++98, c++03 and c++0x;

It is said that VC6 was wrote before C++ was standardized, so I don't mind if it does not support the standards, BUT, I found that vs2010 can't even support C++03, here is the code:

class A
{
    class B { };
    friend class X;
};

class X
{
    A::B mx;
    class Y : A::B
    {
        A::B my;// This should be wrong in C++98 and C++03
                // But it works in VS2010
    };
};

after the compile fails, I think maybe vs2010 supports c++0x, so I changed the code to:

class A
{
    class B { };
    friend class X;
};

class X : A::B // This should be right in c++0x, but it is an error in vs2010
{
    A::B mx;
    class Y : A::B
    {
        A::B my;
    };
};

So this made me very confused, and I'm here asking: which version of c++ standard is vs2010 supporting, if it does not totally supporting the standard, is there a list of whic开发者_JAVA百科h tells me which complier supports which standard?


It seems you're specifically interested in MS VC++ versions... see http://msdn.microsoft.com/en-us/library/x84h5b78.aspx - vary the version number in the "Other Versions" drop-down combobox to see the various releases.


C++98 does not exist as a Standard anymore. It was superseded by C++03. Secondly, because of the way that C++11 coming out was timed, VS2010 supports a kind of half-way-house between C++03 and C++11.

More than that, every implementation has warts. Do you think that it doesn't support C++03 because it doesn't have export?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜