Are there any updates of localization support in C++0x?

后端 未结 2 2066
鱼传尺愫
鱼传尺愫 2021-02-14 06:12

The more I work with C++ locale facets, more I understand --- they are broken.

  • std::time_get -- is not symmetric with std::time_put (as i
相关标签:
2条回答
  • 2021-02-14 06:51

    std::numpunct is a template. All specializations try to return the decimal seperator character. Obviously, in any locale where that is a wide character, you should use std::numpunct<wchar_t>, as the <char specialization can't do that.

    That said, C++0x is pretty much done. However, if good improvements continue, the C++ committee is likely to start C++1x. The ISO C++ committee on is very likely to accept your help, if offered through your national ISO member organization. I see that Pavel Minaev suggested a Defect Report. That's technically possible, but the problems you describe are in general design limitations. In that case, the most reliable course of action is to design a Boost library for this, have it pass the Boost review, submit it for inclusion in the standard, and participate in the ISO C++ meetings to deal with any issues cropping up there.

    0 讨论(0)
  • 2021-02-14 06:52

    I agree with you, C++ is lacking proper i18n support.

    Does anybody knows whether any changes are expected in standard facets in C++0x?

    It is too late in the game, so probably not.

    Is there any way to bring an importance of such changes?

    I am very pessimistic about this.

    When asked directly, Stroustrup claimed that he does not see any problems with the current status. And another one of the big C++ guys (book author and all) did not even realize that wchar_t can be one byte, if you read the standard.

    And some threads in boost (which seems to drive the direction in the future) show so little understanding on how this works that is outright scary.

    C++0x barely added some Unicode character data types, late in the game and after a lot of struggle. I am not holding my breath for more too soon.

    I guess the only chance to see something better is if someone really good/respected in the i18n and C++ worlds gets directly involved with the next version of the standard. No clue who that might be though :-(

    0 讨论(0)
提交回复
热议问题