小编xwl*_*xwl的帖子

为什么std :: to_string的实现创建了4倍于该类型大小的缓冲区?

C++ 11介绍了std::to_string,所以我看了一个实现:它在vsnprintf内部调用.好的,但为什么总是将size参数设置为类型大小的4倍?

 inline string
 to_string(int __val)
 { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, 4 * sizeof(int),
                                          "%d", __val); }

 inline string
 to_string(unsigned __val)
 { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf,
                                          4 * sizeof(unsigned),
                                          "%u", __val); }

 inline string
 to_string(long __val)
 { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, 4 * sizeof(long),
                                          "%ld", __val); }
Run Code Online (Sandbox Code Playgroud)

c++ stdstring c++11

31
推荐指数
1
解决办法
2407
查看次数

标签 统计

c++ ×1

c++11 ×1

stdstring ×1