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
?
精彩评论