How to get the index of a value in a vector using for_each?

前端 未结 10 722
[愿得一人]
[愿得一人] 2020-12-28 14:02

I have the following code (compiler: MSVC++ 10):

std::vector data;
data.push_back(1.0f);
data.push_back(1.0f);
data.push_back(2.0f);

// lambda          


        
10条回答
  •  灰色年华
    2020-12-28 14:43

    Alternatively, you can use &value - &data[0], although it might be a bit more expensive.

    std::for_each(data.begin(), data.end(), [&data](float const& value) {
        int idx = &value - &data[0];
    });
    

提交回复
热议问题