2
让我们假设我有一个特殊的字符类,myChar
,这是从用作std::basic_string<>
特现有标准字符类(char
,wchar_t
,char16_t
,char32_t
)不同。定制专业化<>`
我们还假设std::basic_string<myChar>
提供的功能几乎是我需要的功能是。除了模板已经提供的功能之外,我只想要两个,三个功能。
我们还假设我对编程模板(而不是使用它们,我整天都在使用它)有一定的经验。
我该如何去扩展一个标准模板,扩展它的附加功能?
我有一种感觉,它应该只是几行的问题,但我无法弄清楚。
你研究过“矢量”的实现吗?并且认为它包含“只有几行”的额外? –
@KerrekSB:不,我没有,因为我知道'vector < bool >'变化更多*内部*,而不仅仅是添加几个函数,*外部*,因此我认为它并不适用于对我的问题。 – DevSolar
专业化是一个全新的课程,不幸的是你必须再次实现* everything *。然而,如果你只是有一个新的字符类型 - 没有任何额外的字符串函数 - 正确的地方是专门化'char_traits',一个更小的类。 –