call_once的行为,而例外
Behaviour of call_once while exceptions
如果我用call_once
调用一个函数,如果它在完成执行之前抛出异常,那么once_flag
的值是多少?
once_flag
状态不会被修改,因此下一次使用相同once_flag
调用call_once
将调用可调用对象。
来自 [thread.once.callonce]/2(着重号已添加(
效果:不调用其
func
的call_once
执行是被动执行。调用其func
的call_once
的执行是活动执行。活动执行应调用INVOKE(std::forward<Callable>(func), std::forward<Args>(args)...)
。如果对func
的此类调用引发异常,则执行是异常的,否则将返回。异常执行应将异常传播给call_once
的调用方。在任何给定once_flag
的所有call_once
处决中:最多一次是返回处决;如果有返回执行,则应为最后一次活动执行;并且只有在有返回执行时才有被动执行。
相关文章:
- "error: no matching function for call to"构造函数错误
- 调用专用模板时出错"no matching function for call to [...]"
- "no matching function for call to 'Vector::Vector'"错误
- 我在 ifstream input_file(文件名)行中收到错误"no matching function to call";
- 模板规范获取'Ambiguous call to overloaded function'
- 从 TVector2 类派生复杂类:"No matching function for call to Complex::Complex()"
- Incomings Call with Android Sip stack in Embarcadero C++ bui
- 学习 c++,编译错误"no matching function for call"
- 结构错误:"no matching function for call to "
- 创建函数变体向量时"No matching function for call"错误
- C++线程"Call to non-static member function without an object argument"
- 编译时二叉搜索树错误的反向迭代器表示"no matching function call for operator=()"
- 如果子类中没有构造函数方法,则错误"no matching function for call to 'LGame::LGame(String&)'"
- 提升多精度浮点数128:标准::exp错误:'no matching function for call'
- "error: no matching function for call to",我无法更改结构的定义
- 如何修复以下错误"no match for call to '(std::tr1::shared_ptr<_iobuf*>) (FILE*&)'"
- 替换派生对象向量中的对象"no matching function to call"
- ROS CPP 相当于 Python subprocess.call() 和 shell=True
- (C++)构造函数、默认参数"call of overloaded... ambigous"
- 我的程序显示许多错误,"error: no matching function for call to 'getPercentScore'"