怎样调用call_once来保证只执行一次

C++11

方式/步调

  1. 1

    起首界说once_flag的变量,用于传递给call_once函数

    b3119313b07eca801967d13b9f2397dda0448388.jpg
  2. 2

    然后挪用call_once函数,该函数的第一参数是once_flag类型变量,第二个参数可所以函数指针,匿名函数等

    b03533fa828ba61e6e4620f34f34970a314e5946.jpg
  3. 3

    接着本家儿测试程序中,设置持续挪用两次函数

    a686c9177f3e67091bf4ad2335c79f3df9dc5572.jpg
  4. 4

    从运行成果看,只输出一次打印信息,申明只挪用了一次

    f31fbe096b63f62437ccd1df8944ebf81b4ca35d.jpg
  5. 5

    call_once还可以传递第三个参数,标的目的第二个参数传递参数,那么接下来起首界说有入参的函数

    3b292df5e0fe9925128f818c3aa85edf8cb1716f.jpg
  6. 6

    然后挪用call_once, 将上一个步调实现的函数传递进去,而且携带参数,同样挪用两次

    377adab44aed2e73afba6df08901a18b86d6fa9f.jpg
  7. 7

    最后从输出成果看,也只是输出一次,申明call_once是准确的,同时也达到预期的目标,函数只挪用一次

    bd315c6034a85edf26a72fff47540923dc5475c7.jpg
  • 发表于 2019-08-18 21:01
  • 阅读 ( 705 )
  • 分类:其他类型

0 条评论

请先 登录 后评论
联系我们:uytrv@hotmail.com 问答工具