Visual C++ 2005



  • Ok, I mostly develop in C on *nix systems. I have done quite a bit of C++ work too, but it has been about 3 years, and even longer since I've had to develop anything for Windows.

    So, now I need to develop a small, what-should-be-quick app for Windows and download the Visual C++ Express to dabble a bit to refamiliarize myself with the gotchas involved with using Visual Studio. I create a generic Windows Form Application (as it's the closest thing I can see to what I'm familiar with as far as a template). Browsing through the files generated, I come across:

    int main(array<System::String ^> ^args)

     

    Can someone tell me what "^" means here? Is this a relatively new edition to the C++ standard I hadn't heard about during my C++ hiatus, or is this a Windows-specific "add-on" or something? Is it .NET-specific maybe?

     

    I tried searching for some info through the standard channels, but 1) I never learned how to do effective searching (even at the high school library) and 2) everything I find doesn't talk about what it means or does.



  • [quote user="Balthazaar"]

    int main(array<System::String ^> ^args)

    [/quote]

    Odd, it could be MS specific generics in the language but I too cannot find a reefrence to it anywhere except the old bitwise operator 

     



  • I suspect some .NET-ish nonsense. The 'operator' shows up in all MSDN C++ examples with references to the String object.

    http://msdn2.microsoft.com/en-us/library/system.string.aspx

     



  • Oh, look!!

     http://blogs.msdn.com/branbray/archive/2003/11/17/51016.aspx 

     



  • Excellent! Thanks for finding that for me. I knew I should have actually gone to my Library Science 101 class back in college....
     



  • It's not C++. It's a microsoft bastardation that adds managed features. Don't confuse the two!



  • Unless you really want to make use of managed code and/or the .net framework, I'd go back and create a new project and specifically turn off any references to managed code.  

    I was a C++ guy for a dozen years before making the switch to C# in 2002, and even I won't step into the middle of that mess :)

    -cw



  • [quote user="Balthazaar"]

    Ok, I mostly develop in C on *nix systems. I have done quite a bit of C++ work too, but it has been about 3 years, and even longer since I've had to develop anything for Windows.

    So, now I need to develop a small, what-should-be-quick app for Windows and download the Visual C++ Express to dabble a bit to refamiliarize myself with the gotchas involved with using Visual Studio. I create a generic Windows Form Application (as it's the closest thing I can see to what I'm familiar with as far as a template). Browsing through the files generated, I come across:

    int main(array<System::String ^> ^args)

     

    Can someone tell me what "^" means here? Is this a relatively new edition to the C++ standard I hadn't heard about during my C++ hiatus, or is this a Windows-specific "add-on" or something? Is it .NET-specific maybe?

     

    I tried searching for some info through the standard channels, but 1) I never learned how to do effective searching (even at the high school library) and 2) everything I find doesn't talk about what it means or does.

    [/quote]

     

    Welcome to managed C++. You will probably find that you will want to turn around immediately and make for the exit. 



  • [quote user="GoatCheez"][quote user="Balthazaar"]

    Ok, I mostly develop in C on *nix systems. I have done quite a bit of C++ work too, but it has been about 3 years, and even longer since I've had to develop anything for Windows.

    So, now I need to develop a small, what-should-be-quick app for Windows and download the Visual C++ Express to dabble a bit to refamiliarize myself with the gotchas involved with using Visual Studio. I create a generic Windows Form Application (as it's the closest thing I can see to what I'm familiar with as far as a template). Browsing through the files generated, I come across:

    int main(array<System::String ^> ^args)

     

    Can someone tell me what "^" means here? Is this a relatively new edition to the C++ standard I hadn't heard about during my C++ hiatus, or is this a Windows-specific "add-on" or something? Is it .NET-specific maybe?

     

    I tried searching for some info through the standard channels, but 1) I never learned how to do effective searching (even at the high school library) and 2) everything I find doesn't talk about what it means or does.

    [/quote]

     

    Welcome to managed C++. You will probably find that you will want to turn around immediately and make for the exit. 

    [/quote]

    yeah, if i don't write the c++ myself i don't ever use it. ever. never. shoots guy who came up with managed c++ 



  • That's not what makes it nasty. The idea is a good one.

     

    It's the implementation that sucks.

     

    And all us C++ programmers are a little annoyed by MS calling C# the 'next C' anyway.


Log in to reply