In visual c++ 2003 to visual c++ 2005 are there any major changes,Are there any Syntax changes i know there has to be,and would the 2005 version be worth the money?

Recommended Answers

All 17 Replies

VC2005 is free to download and yes it's much better than VC2003.

Re: Syntax....
Maybe we can answer your question and mine at the same time.

I am a total neophyte, but I am toying with a program that has a caveat, "When using VS2005, MS is pushing wide strings. Convert char stuff to WCHAR and put an L in front of all the constants, like this: L'Hello, world.'"

This is all pretty much greek to me, but maybe a power hitter can enlighten us.

Re: Syntax....
Maybe we can answer your question and mine at the same time.

I am a total neophyte, but I am toying with a program that has a caveat, "When using VS2005, MS is pushing wide strings. Convert char stuff to WCHAR and put an L in front of all the constants, like this: L'Hello, world.'"

This is all pretty much greek to me, but maybe a power hitter can enlighten us.

That is because unlike the previous versions of Visual Studio, VS2005 is unicode enabled by default. In Windows, to differentiate between Wide char and the normal one byte char, you have to put the L modifier in from of it. So "Hello World" will take 12 bytes, and L"Hello World" will take 24 bytes.
Read more.

As for the OP's question

In visual c++ 2003 to visual c++ 2005 are there any major changes,Are there any Syntax changes i know there has to be,and would the 2005 version be worth the money?

No major changes in the Graphical IDE. If you are familiar with the VS2002, VS2003 , there are few places where you get surprised.
As for syntax changes, I tried the Professional Version for some time, and the major irritation was that the use of functions like strncpy has been deprecated in favour of microsoft specific functions like strncpy_s. So you may get a lot of compiler warnings saying this and that is deprecated, blah blah blah. Of course you can turn if off with a specific preprocessor switch _CRT_SECURE_NO_DEPRECATE . I personally do not like this compiler specific code, but since I don't know the internals of the C/C++ standard implementations, I am not in a position to say where the old strncpy functions have gone wrong. But other than this, I do not see any significant changes. Anyway this is significant enough. Also these new functions have been submitted for consideration to the C/C++ committees so they MAY get included in the standards.
For the time being, unless you are going to download the free version, I do not see any point of upgrading to VS2005 in a hurry. 2003 should be enough since it is very much standard compliant than the pervious versions. But if you have the bandwidth and curiosity, try the free version by all means.

You guys know a retail store were i could buy visual c++ 2005 or from microsoft website only.compusa.com use to sell the visual c++ 2003 but they dont anymore.

Why do you want to buy it when it can be downloaded for free?

Why do you want to buy it when it can be downloaded for free?

well i downloaded the 30 day trial before this when i was just learning c++ i used it once and let it sit,then when i need to use it oops the trial is expired.

No. There is no issue like that with Visual Studio 2005 Express Edition. It is completely free for as long as you want to use it. Earlier it was only for a one year period and the licence expired after an year. But now they have decided to give this edition for free. See this.

Effective April 19th, 2006, all Visual Studio 2005 Express Editions are free permanently. This pricing covers all Visual Studio 2005 Express Editions including Visual Basic, Visual C#, Visual C++, Visual J#, and Visual Web Developer as well as all localized versions of Visual Studio Express.
SQL Server 2005 Express Edition has always been and will continue to be a free download.

See how nice Big Bro Bill is?

A major difference that hasn't been noted (unless I just missed it) is that 2005 uses C++/CLI for .NET programming, whereas 2003 uses the older managed extensions for C++. Just to clarify, C++/CLI is essentially its own language, though it is based on C++.

Also, all the express versions are specific to a single language, whereas non-free versions of visual studio integrate multiple languages, and they also include some other tools. Check out the product comparisons.

No. There is no issue like that with Visual Studio 2005 Express Edition. It is completely free for as long as you want to use it. Earlier it was only for a one year period and the licence expired after an year. But now they have decided to give this edition for free. See this.
See how nice Big Bro Bill is?

WOW :eek: iam downloading all of them lol

As for syntax changes, I tried the Professional Version for some time, and the major irritation was that the use of functions like strncpy has been deprecated in favour of microsoft specific functions like strncpy_s. So you may get a lot of compiler warnings saying this and that is deprecated, blah blah blah. Of course you can turn if off with a specific preprocessor switch

Leave it to M$ to depricate standard functions in lieu of their own functions. Whether their reasoning is sound is immaterial. They should not ignore the standards because they don't like them.

I personally do not like this compiler specific code...

I despise this "compiler specific code" because of the arrogance. They can add the functions -- no problem there -- but to deprecate the Standard takes it too far.

but since I don't know the internals of the C/C++ standard implementations, I am not in a position to say where the old strncpy functions have gone wrong.

The problem with the string functions is they make it easy to overflow your string buffer. In some ways they are as dangerous as gets() and scanf("%s"...), but they are under control of the programmer, not the user. Any programmer worth his salt can handle this without difficulty.

commented: Nicely Said +1

ok i have a problem with visual c++ whenever i try to create a project it says "automation server cannot create object".anybody know what that means?

ok i have a problem with visual c++ whenever i try to create a project it says "automation server cannot create object".anybody know what that means?

No. What type of project are you trying to create?

Edit:
Googling gave me this.

it gives that error on every project except a win32 console project

I posted a link a bit later in my earlier solution. Check it out and see if the error can be corrected.

Why do you want to buy it when it can be downloaded for free?

visual c++ is great

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.