C++ 是否保证标准提取操作员>&燃气轮机;在失败的情况下不改变参数?
如果调用类似于C++ 是否保证标准提取操作员>&燃气轮机;在失败的情况下不改变参数?,c++,extraction-operator,C++,Extraction Operator,如果调用类似于input\u stream>>i的东西如果i是算术类型,抛出异常或设置坏位等,是否保证i没有更改?参考CPP参考文档了解: 1-4)的行为类似于FormattedInputFunction。构造并检查sentry对象(可能跳过前导空格)后,通过调用std::num_get::get()提取一个整数值 然后 阶段3:转换和存储: […] -如果转换函数无法转换整个字段,则值0 存储在v中 请参阅CPP参考文档,了解: 1-4)的行为类似于FormattedInputFuncti
input\u stream>>i的东西
如果i
是算术类型,抛出异常或设置坏位等,是否保证i
没有更改?参考CPP参考文档了解:
1-4)的行为类似于FormattedInputFunction。构造并检查sentry对象(可能跳过前导空格)后,通过调用std::num_get::get()提取一个整数值
然后
阶段3:转换和存储:[…]
-如果转换函数无法转换整个字段,则值0 存储在v中
请参阅CPP参考文档,了解: 1-4)的行为类似于FormattedInputFunction。构造并检查sentry对象(可能跳过前导空格)后,通过调用std::num_get::get()提取一个整数值 然后 阶段3:转换和存储:
[…]
-如果转换函数无法转换整个字段,则值0 存储在v中
在C++11之前,该值保持原样: 如果提取失败(例如,如果在预期数字的位置输入字母),
值将保持不变,并设置failbit
。(直到C++11)
但在C++11之后,否。如果提取失败,则设置为0
(同一引用):
如果提取失败,则将零写入值
,并设置故障位
。如果提取导致值太大或太小而无法装入值,则写入std::numeric\u limits::max()
或std::numeric\u limits::min()
,并设置failbit
标志。(从C++11开始)
在C++11之前,该值保持原样:
如果提取失败(例如,如果在预期数字的位置输入字母),值将保持不变,并设置failbit
。(直到C++11)
但在C++11之后,否。如果提取失败,则设置为0
(同一引用):
如果提取失败,则将零写入值
,并设置故障位
。如果提取导致值太大或太小而无法装入值,则写入std::numeric\u limits::max()
或std::numeric\u limits::min()
,并设置failbit
标志。(从C++11开始)
请注意,一些C++11之前的实现未能遵守这一点specification@M.M:您对此有什么证据?请注意,一些C++11之前的实现未能遵守这一点specification@M.M:你有什么证据?