dmc*_*kee 6 c++ types iostream c++-standard-library
今天要做一点流输出,并且需要强制格式化字段。回顾大多数操纵器都是持久性的,我决定向恶作剧者投保:
auto oldp = std::cout.precision(); // Cache this to be able to undo a set
std::out << "threshold"
<< std::setprecision(2) << m_threshold // set
<< std::setprecision(oldp) << std::endl; // restore
Run Code Online (Sandbox Code Playgroud)
我的linter在“恢复”行上引发了有关隐式整数向下转换的警告。
稍微四处张望,'sure'nuf,std::setprecision需要int,而std::ios_base::precision返回streamsize(这long在我前面的系统上是一个)。
因此,短绒猫正在提出有效的申诉(而且很容易就可以解决),但是为什么这种情况仍然存在?