gpt4 book ai didi

c++ - BOOST_SCOPE_EXIT 将参数作为值传递

转载 作者:太空狗 更新时间:2023-10-29 23:14:49 25 4
gpt4 key购买 nike

你能告诉我这是否是一个好的编程习惯吗:

  bool x = false;
for (int i = 0; i < 10; i++)
{
BOOST_SCOPE_EXIT(x, i)
{

if (x)
{
std::cout << " Hello" << " i " << i << " " << std::endl;
}
} BOOST_SCOPE_EXIT_END

if(i == 5)
{
x = true;
}
}

我正在按值传递:

  BOOST_SCOPE_EXIT(x, i)

不是

  BOOST_SCOPE_EXIT(&x, &i).

======

输出是:

 Hello i 6 
Hello i 7
Hello i 8
Hello i 9

所以它确实有效。

值:

BOOST_SCOPE_EXIT(&x, &i)

值(value)观不同

Hello i 5

也被打印出来。

谢谢

最佳答案

两者都需要作为引用,因为您需要访问最终值。

您应该能够通过使用不同的值运行您的程序并看到“Hello”永远不会按原样打印出代码来验证这一点。

http://www.boost.org/doc/libs/1_56_0/libs/scope_exit/doc/html/scope_exit/tutorial.html

关于c++ - BOOST_SCOPE_EXIT 将参数作为值传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31879198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com