Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3801630
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 19, 20262026-05-19T14:04:49+00:00 2026-05-19T14:04:49+00:00

There a lot of C++ class libraries either open source or commercial like MFC,

  • 0

There a lot of C++ class libraries either open source or commercial like MFC, ATL, SmartWin++,
QT. but none of them has the design and the architecture and the purity of .NET framework class library. What about the idea of implementing C++ library that is like .NET framework class library and provide the developers with a wide range of features and of course the library will be unmanaged and will wrap win32 API and COM

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-19T14:04:49+00:00Added an answer on May 19, 2026 at 2:04 pm

    Interesting question. But I believe it would be either a waste of time or not optimal to re-create the .NET BCL (base class library) for unmanaged C++. Why is that?

    1. The C++ language is quite different from the .NET languages. This means that if you were to re-write the BCL for C++, you would optimally try to make the best use of C++. This would probably result in a fairly different framework design:

      • IDisposable and Close methods would not be necessary, since C++ offers deterministic freeing of releases and teardown of objects; something like using blocks, but far more generic. (The relevant C++ concepts are scopes, automatic storage, RAII, and smart pointer classes.) That is, a C++ BCL has the potential for a much more elegant design in this respect.

      • C++ templates are quite different from .NET generics. C++ also doesn’t have delegates or events (even though you could probably mimick these). Reflection and run-time type and code generation also won’t work easily with C++. Finally, C++ (before C++0x) doesn’t support lambda functions. This means that the more modern additions to the BCL would probably have to look quite different in C++.

    2. There are things in the BCL that have become obsolete, or if you designed the BCL today, it would turn out quite differently. Let’s take System.Reflection. This part of the BCL was built before generics were introduced. If it was re-written from scratch today, chances are that reflection would take advantage of generics and therefore better type safety.

    3. As you see, a new, C++ version of the BCL would very likely end up quite different than the .NET BCL it’s based on; so you ought to wonder if it’s even necessary to base such a new library on the .NET BCL at all. Do you even need to have one single framework, or is it easier in the end to develop separate libraries? One for networking, one for abstract data types, one for GUIs, one for reflection etc.

      • Separate libraries have the disadvantage that they possibly have no consistent API design. Therefore experience with one library doesn’t help you at all learning another API.

      • Because of that, separate libraries can be easier to maintain. One can maintain the reflection library without having to concert each of one’s actions with the GUI library maintainers, for example.

      • Separate libraries have the advantage that you can exchange one for the other if you find a cleaner, faster, or otherwise better replacement.

    4. Even if someone wrote a C++ version of the BCL — it would take much resources to maintain such a library in the long term, even more so when you consider that it should be platform-independent. Microsoft has this capacity and these resources. Would you, too?

    The lure of one great library for everything is indeed the consistency of one API, and the fact that “everyone” would use it. But I think even if you wrote such a C++ BCL, you’ll find it hard to reach almost every C++ programmer and convince them to your that library.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

There is a class library project with embedded javascript file, with a lot of
There are a lot of webs still using classic ASP instead of ASP.NET but
Possible Duplicate: PHP pagination class are there any PHP/Class libraries that i can utilize
There is lot of similar questions at StackOverflow, but I can't find any answered
Note there's a lot of code posted below but its mostly all the same,
There has been a lot of discussion on the subject of Open Closed Principle
We have a lot of class code which has some boilerplate like the following:
Delphi (and probably a lot of other languages) has class helpers. These provide a
I see there are lot's of examples in Ext JS where instead of actually
Please let me know why there is lot of white space below the page

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.