Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 以下程序中的这一行如何包含特定元素的迭代器?_C++_Iterator_Stdset - Fatal编程技术网

C++ 以下程序中的这一行如何包含特定元素的迭代器?

C++ 以下程序中的这一行如何包含特定元素的迭代器?,c++,iterator,stdset,C++,Iterator,Stdset,我在上找到了以下程序 //集合::插入 #包括 #包括 int main(){ std::设置myset; std::set::迭代器; std::配对ret; //设置一些初始值: 对于(int i=1;i 单个元素(1):成对插入(常量值类型&val); 单元素版本(1)返回一个pair,其成员pair::first设置为一个迭代器,该迭代器指向新插入的元素或集合中已存在的等效元素。如果插入了新元素,则pair::second元素设置为true;如果已存在等效元素,则设置为false 上面的

我在上找到了以下程序

//集合::插入
#包括
#包括
int main(){
std::设置myset;
std::set::迭代器;
std::配对ret;
//设置一些初始值:
对于(int i=1;i
单个元素(1):
成对插入(常量值类型&val);

单元素版本(1)返回一个pair,其成员pair::first设置为一个迭代器,该迭代器指向新插入的元素或集合中已存在的等效元素。如果插入了新元素,则pair::second元素设置为true;如果已存在等效元素,则设置为false

上面的解释清楚了一切

for(int i=1;i
单个元素(1):
成对插入(常量值类型&val);

单元素版本(1)返回一个pair,其成员pair::first设置为一个迭代器,该迭代器指向新插入的元素或集合中已存在的等效元素。如果插入了新元素,则pair::second元素设置为true;如果已存在等效元素,则设置为false

上面的解释清楚了一切

for(int i=1;i来自:

返回一对,该对由插入元素(或阻止插入的元素)的迭代器和
bool
值(如果插入发生)组成

由于示例中的集合已经包含元素
20
,因此将返回该元素的迭代器

原因是,插入算法的一部分是为这个新元素找到一个位置。这个位置显然与我们在容器中查找它的位置相同

所以,我们再次看看它应该在哪里,如果它不在那里,我们就把它放在那里。如果它在那里,我们只需返回一个迭代器到这个地方。这个额外的操作基本上是免费的。

来自:

返回一对,该对由插入元素(或阻止插入的元素)的迭代器和
bool
值(如果插入发生)组成

由于示例中的集合已经包含元素
20
,因此将返回该元素的迭代器

原因是,插入算法的一部分是为这个新元素找到一个位置。这个位置显然与我们在容器中查找它的位置相同


所以,我们再次看看它应该在哪里,如果它不在那里,我们就把它放在那里。如果它在那里,那么我们只需返回一个迭代器到这个地方。这个额外的操作基本上是免费的。

同时显示
std::set::insert
的重载可能会有帮助:
std::pair insert(value\u type&&value)
同时显示std::set::insert的重载可能会有帮助:
std::pair insert(value&&value);
@JeJo,你说得对!但是,OP提到了C++98(参见他发布的代码的第一行-它在注释中)这就是为什么我特别添加了那个函数签名!@JeJo,你说得对!但是,OP提到了C++98(参见他发布的代码的第一行-在注释中),这就是为什么我特别添加了那个函数签名!
myset contains: 5 10 15 20 24 25 26 30 40 50