使用std :: find在向量中定位随机生成的数字

时间:2017-10-09 15:42:15

标签: c++ c++11 vector

<Grid x:Name="TopGrid" DataContext="{StaticResource mainViewModel}">
    <Rectangle x:Name="TopPanel" Grid.ZIndex="3" 
               Fill="LightBlue"  Opacity="0.3" 
               Visibility="{Binding IsContentBlocked, Converter={StaticResource BoolToVisibility}}" />
    <Grid Name="main">
        <Grid.RowDefinitions>
            <RowDefinition Height="auto"></RowDefinition>
            <RowDefinition Height="auto"></RowDefinition>
            <RowDefinition></RowDefinition>
            <RowDefinition Height="auto"></RowDefinition>
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="1.2*"></ColumnDefinition>
            <ColumnDefinition Width="*"></ColumnDefinition>
        </Grid.ColumnDefinitions>

        <!-- Here my controls: stackpanel, buttons, groupboxes, etc. -->
    </Grid>
</Grid>

给定n个随机生成数字的向量,我想设置一个随机变量,并使用std :: find算法确定该变量是否位于该向量中。

vector<int> v(n);

当我第一次运行这段代码时,我得到一个错误,就是&#34;在初始化&#34;中无法将迭代器转换为int。

1 个答案:

答案 0 :(得分:2)

摘自documentation

  

返回值

     

迭代器满足条件的第一个元素,如果没有,则为最后一个元素   找到了这样的元素。

使用文档中的示例

来满足这一要求
auto p = std::find(v.begin(), v.end(), x);
bool found = (p != v.end());

现在找到包含是否找到您提到的值。