我尝试从numpunct 和numpunct_byname 派生自定义numpunct 构面。两者给出相同的结果,并且两种方法都起作用。我尝试的示例是重写do_truename()和do_falsename()虚拟方法,以便返回其德语等效项“wahr”和“falsch”。源自numpunct_byname : http://coliru.stacked-crooked.com/a/32172a867ab56086源自numpunct : http://coliru.stacked-crooked.com/a/33e1190c2a783e1a两种方法都能正常工作。有什么区别吗?我怎么知道采用哪种方法?谢谢。 最佳答案 一个版本使用标点符号的默认值,而另一个版本则从命名区域设置中加载内容。如果您不命名区域设置,然后仍然覆盖虚拟函数,则不会有任何区别。可能您可以直接使用_byname版本并命名德语语言环境(以依赖于OS的方式)。关于c++ - 从标准构面派生和_byname版本之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48128717/ 10-11 16:31