Difference between C++.NET and Visual Studios C++?

What is the difference between C++ .NET and Visual Stuidos C++? I have both student version installed on my computer at home and I don't understand what the difference is. Is it just the interface is different or is there more? If my instructor asks for a .cpp and a .h file I can create them in both applicatipons correct? Would they be interchangable?

Thank you,
GM
morganftdAsked:
Who is Participating?
 
drichardsConnect With a Mentor Commented:
First of all, I'd say stick with whatever compiler your instructor will be using to validate your code - it's the safest bet and you don't want to have to say things like "but I can compile it on my machine".  If the instructor is not going to compile your code, there are no significant differences to worry about.  That said...

I am assuming you mean the difference between VC6 (Visual C++ 6.0) and VC7 (Visual C++ .NET).

The biggest difference is that VC++ .NET supports managed C++ which lets you build managed (.NET) apps with C++.  There are some Microsoft extensions to the C++ language to allow this and you probably don't care about them at this point.

Another big difference is that the standards compliance of the compiler was enhanced a lot in the newer version.

If you stick to basic C++, apps should be portable back and forth.

If you use MFC, things are USUALLY portable, especially if you strictly followed rules for message map signatures as the type safety of the message map functions is one of the MFC changes that bites a lot of people.  There are a few gotchas with the new implementation of CString as well.  You don't care about this at al if you will not be using MFC.
0
 
morganftdAuthor Commented:
Thank you drichards. I asked about which one to use because he said to me "I don't care which one you use".

So basically at this point in the game it really doesn't matter which one I use until I get into MFC. :-)

0
 
drichardsCommented:
Yes, that's about it.  If you have a choice, definitely use the newer compiler because of standards compliance.  It's also got a much newer version of standard C++ libraries.  Together, these mean lots fewer compiler warnings.

In the old compiler, Warning Level 4 was pretty much unusable if you used C++ libraries (iostream, vector, etc.).  Now you can turn on Level 4  and set "Treat Warnings As Errors" to true and not have to wade through hundreds of warnings that weren't even in your own code.
0
Cloud Class® Course: Microsoft Office 2010

This course will introduce you to the interfaces and features of Microsoft Office 2010 Word, Excel, PowerPoint, Outlook, and Access. You will learn about the features that are shared between all products in the Office suite, as well as the new features that are product specific.

 
eddstarCommented:
Hey GM,
Being a student like you ( that worked with vc6 ) and that is currently doing a summer internship working with vc++ with managed extensions, I would advise you to stick with vc6. The reason is that by being a student proffesors want you to learn the basics, which means you might have to implement you own linked list instead of using a built in. They will also want you to become familiar with new and delete. So in order to avoid problems in the future I would stick with vc6 and do everything by yourself which means don't include and libraries that do things for you.
-hope this helps,
EE
0
 
drichardsCommented:
>> which means you might have to implement you own linked list instead of using a built in.
>>  They will also want you to become familiar with new and delete.
>>  So in order to avoid problems in the future I would stick with vc6 and do everything by yourself
>>  which means don't include and libraries that do things for you.

There is nothing in VC7 that will prohibit you from doing this, and as I said, the C++ compiler is more standard-compliant, so you will actually be able to do better with it than with the old compiler.  The old compiler did some things that were blatantly against the standard and left out things that are part of the standard.  The newer compiler is a much better bet if you have a choice.

I think you are confusing regular C++ with managed C++.  VC7 cando either/both.  You can stick entirely with plain standard C++ if you want (and for a class using C++ certainly will).
0
 
morganftdAuthor Commented:
Thanks EE and drichards for your added comments. :-) I do understand now. I was talking with my classmates last night about compiling errors on our projects and someone said "oh I hate having to count lines". I told him in VC7 all I have to do is click on the error and it takes me right to the line (along with the line number being in the error code).

drichards that's really interesting abotu the Warning Level 4 trick also. Will have to check that out.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.