Visual C++ 2008 Feature Pack now available

Back in November, I reported that we’d be shipping Visual C++ 2008 that month (we did!) and that we’d soon thereafter be doing the “agile thing” and shipping a major update mere months later, instead of waiting two years between releases per our prior tradition. I wrote:

The update is expected to be available in beta form in January 2008, and to ship in the first half of 2008. Enjoy!

Well, it’s official: It’s available. Enjoy! Besides major updates to MFC for the latest Office/VS/Vista look-and-feel to support first-class native code development, it also includes most of TR1 (everything except C99 compatibility, and the special math functions that didn’t make it into C++0x):

TR1 (“Technical Report 1”) is a set of proposed additions to the C++0x standard.  Our implementation of TR1 contains a number of important features such as smart pointers, regular expression parsing, containers (tuple, array, unordered set, etc) and sophisticated random number generators.

More information on TR1 can be found at the sites below:

TR1 documentation

Channel 9: Digging into TR1

TR1 slide decks (recommended)

Enjoy, everyone – and thanks, team!


1. This feature pack requires Visual C++ 2008 Standard or above. The only VC08 edition it doesn’t work with is Express; we’ll support Express in a future release.

2. When I wrote that it would be available “in the first half of 2008,” a number of people seemed to automatically interpret that as code for “maybe around June 31.” We’re not always that bad at shipping, fortunately. :-)

3. Yes, I know that June has 30 days.

8 thoughts on “Visual C++ 2008 Feature Pack now available

  1. I agree with Florin Popa.

    It’s a pity such pseudo C++ frameworks like MFC not only still exist but yet are “updated”…

    Piotr Dobrogost

  2. Hi! I cannot compile this code in MS VC:
    error C2248: ‘A::B’ : cannot access private class declared in class ‘A’.

    GCC/Comeau do not have problems accessing op delete and/or dtor of a private nested class from template deleter function (checked_delete in boost and _Resetp in MS+Dunkumware).

    Is this correct or not?


    class A
    class B

    void test()
    std::tr1::shared_ptr(new B());


    void* operator new(size_t size)
    return std::malloc(size);

    void operator delete(void* p, size_t /*size*/)


  3. I am sorry that MFC was updated. I hoped during years that MFC will fade away and we end up with a (new) good library (base on templates of course :).

    Everybody seems to be happy about new MFC : I am not.
    I have hoped that MS will keep MFC for back compatibility and move along. Sadly is not the case.

  4. Hello Phil and Tom! I’m a member of the Visual C++ development team and wanted to respond to the questions you asked:

    1) Will the MFC update be available to Express
    In the short term, the answer is “no”. We are hoping to add MFC to the Express product but that won’t happen before the release of the next major version.

    2) When can we expect TR1 to be in Express
    We are planning to roll TR1 into the Express service pack. This should be available later this year.

    Visual C++ Development

  5. That’s great news, indeed! When approximately can we expect TR1 to be released for Express version ?

Comments are closed.