Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

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

Posted on 2004-08-16
6
246 Views
Last Modified: 2010-04-24
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
0
Comment
Question by:morganftd
  • 3
  • 2
6 Comments
 
LVL 19

Accepted Solution

by:
drichards earned 50 total points
ID: 11811899
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
 

Author Comment

by:morganftd
ID: 11813798
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
 
LVL 19

Expert Comment

by:drichards
ID: 11813940
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
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

Expert Comment

by:eddstar
ID: 11822577
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
 
LVL 19

Expert Comment

by:drichards
ID: 11823090
>> 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
 

Author Comment

by:morganftd
ID: 11825689
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

Featured Post

Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The following diagram presents a diamond class hierarchy: As depicted, diamond inheritance denotes when two classes (e.g., CDerived1 and CDerived2), separately extending a common base class (e.g., CBase), are sub classed simultaneously by a fourt…
In Easy String Encryption Using CryptoAPI in C++ (http://www.experts-exchange.com/viewArticle.jsp?aid=1193) I described how to encrypt text and recommended that the encrypted text be stored as a series of hexadecimal digits -- because cyphertext may…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

856 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question