Partial template specialization is a vital technique for writing rich and useful collections. It can serve a useful purpose in many C++ programs, and is just one of the many new areas of standards conformance in Visual C++ .NET 2003. This article demonstrates how Visual C++ can be used to incorporate the .NET Framework into C++ applications.
Bustards, they should have done partial template specialization in VC 6.0, before claiming that it is a C++ compiler.
Quit bitchin, VC 6.0 predates the C++ standard.
The standard was approved in 1997, and VC6.0 was released in September of 1998. I know its a lot of work to implement the C++ standard, but they’ve had at least 4 service packs to do it over a period of 4 years.
There’s no real excuse for VC++6.0 not to support PTS.
>> Maymun Babuin: Bustards, they should have done partial template specialization in VC 6.0, before claiming that it is a C++ compiler.
I was frustrated, too, but why complain about a product that was released six years ago?
Because for example at that time others compilers had that feature, just no to speak about the stl::map broken if used in the main 3xecutable importing the container from a DLL.
BTW gcc 3.4 is more compliant to ISO standard the .NET compiler.
K.
Is it the more standards compliant, any tests/data to back that up?
The boost regression tests seem to put them about even (actually 3.3.3 seems better then 3.4).
http://boost.sourceforge.net/regression-logs/
I don’t know if that is an accurate measure, since the Comeau C++ compiler passes 78% of the tests.
>> kalman: Because for example at that time others compilers had that feature, just no to speak about the stl::map broken if used in the main 3xecutable importing the container from a DLL.
Which means what, exactly, other than, “I just want to complain about a product that was released six years ago”?
>> kalman: just no to speak about the stl::map broken if used in the main 3xecutable importing the container from a DLL.
How nice. Now could we mention something that is both A) relevant to the original topic, and B) useful to someone besides you?
I’d like it if g++ quickly integrates some of the new Standard C++ features post C++ 98.
> …Standard C++ features post C++ 98
Ahem… which are? Last time I looked, they didn’t release any new standard post 98…
…and I’m still waiting for ‘export’…
> VC 6.0 predates the C++ standard.
ROTFL…
About once a month, at the office, we take the code we generated, which compiles just fine under Sun CC and gcc on Solaris, and try to compile it under VisualC++. And about a day or two later, we’ve weeded all the incompatibilities. 95% of them are perfectly legal code which VC stubbornly refuses to compile…
Yes, the release of VC might have predated the standard date. But what about adding the conformance code to the multitude of service packs that they provide for VC?
>> Tim Barber: Yes, the release of VC might have predated the standard date. But what about adding the conformance code to the multitude of service packs that they provide for VC?
Perhaps they thought that bundling bugfixes with changes that would fundamentally alter the behavior of the compiler and end up breaking compatibility with a lot of source code including many of the C++ libraries that shipped with VC++ 6.0 was a bad idea. The broken, twisted, and unbelievably outdated version of Dinkumware’s C++ standard library implementation was very frustrating for me, but other people depended on the bugginess and the quirks. Forcing such people to rewrite large portions of their code simply to get the IDE and compiler bugfixes from MS would have been silly. Not every development house can afford to just throw two weeks out the window fixing their source code to make it more standards conformant.
If I see any more posts polluting discussions of current versions of VC++ with whining and moaning about Microsoft not fixing conformance issues in six year-old versions of VC++, I will start reporting the posts for abuse.
@ Vinkelhake, null_pointer_us:
Oops… the “foreign language bug” has struck again. I have to excuse myself; I confused “to predate” as in “pre-date” with as in “predator”, something like “to surpass”…
When you get too sure of your skills, they turn around and bite you. Valid not only for computer languages. 😉