gpt4 book ai didi

c++ - 用于修改 bool 类型 vector (特殊容器)的 lambda 表达式中 auto 推导的类型是什么

转载 作者:行者123 更新时间:2023-11-30 03:19:06 26 4
gpt4 key购买 nike

<分区>

我想改变 std::vector<bool> 中一个变量的状态通过引用使用函数但这不起作用,因为 std::vector<bool>是一个代理对象。但是,当我尝试使用 lambda expression 更改它时我可以修改它。这是一个例子:

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(int argc, char **argv)
{
vector<bool> v(10, true);

auto modify_bool = [](auto b){ b = false; };

modify_bool(v[1]);

for(bool b:v)
cout << b << endl;

return 0;
}

我可以看到 v[1]已更改为 false .我的问题是 auto 推导的类型是什么?的 modify_boolb

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