请教个STL locale的问题
在研究STL的locale,好复杂啊……
是这样的,我建立一个num_put的实例:
const num_put<char, ostream_iterator<char> > &np = use_facet<num_put<char, o
stream_iterator<char> > >(locale("deu"));
建立一个德语locale自带的numpunct的facet,然后:
np.put(oit, cout, ' ', 12235.76f);
这个oit是cout的ostream_iterator
为什么我输出的东西没有应用德语的locale特性呢?
只有我在put之前调用cout.imbue(locale("deu"));才可以应用。
查了MSDN,上面说put的第二个参数是包含了要使用的那个facet的stream,那如果以这
个参数所带的facet为准,那我初始化np的时候传入的locale是干什么用的呢?
乱七八糟的,不知道说明白没有,有人对这块比较熟吗?谢谢:)