How (and who can) implement the standard library functions defined by the C ++ committee?

When a C ++ committee publishes a new function that will be part of the standard library in the next language standard, do they also release some source code or some kind of guide for implementing this function?

Take unique_ptras an example. Does the language committee simply define the interface for this class template and allows the compiler to implement it on its own? How exactly is this process of implementing standard library functions.

Can someone implement parts of the standard library for a platform that does not yet support it? Let's say I would like to implement some interesting features of the C ++ standard library for use in a microcontroller environment. How could I do this? Where should I look for information? If I decide to turn my open source project, can I do it? Should I follow exactly what the standard says, or can I write an incompatible version?

+6
source share
4 answers

Usually

  • Each new library function goes through a proposal .

  • ++ Working Evolution Working Group, ( " ", ).

  • ,

  • (TS) ( ++ 11), . , #include <filesystem> TS ++ 17.

  • , , , , - .

  • ISOCpp

, :


- , ?

, , , API. . std::cout, std::ifstream .

, ++, . ?

. . :

? ?

  • , ++. , std::optional , .

  • .: -)

  • .: -)
  • ,

, ?

, ++. "" .

+8

, . , ++ Standard . , , .

, " ", , . , - , MSVC ++.

+7

, , , . boost, GNU .

- . ( ) , .

unique_ptr boost::unique_ptr - . , , , unique_ptr.

, ( , , , ).

+2

. , . , , .

. , TS. TS .

++. Plum Hall (, , Plum Hall C++).

. . , .

, " " (ANSI , BSI ..). - isocpp , .

+2

All Articles