error C3861: “back_inserter”: 找不到标识符

Reference:https://blog.csdn.net/taotaoah/article/details/52225364 and https://baike.baidu.com/item/c%2B%2B0x

question:            error C3861: “back_inserter”: 找不到标识符

solve: add          #include "iterator"

reason: back_inserter()在没有 # include "iterator"的情况下被使用。C++标准库的headers会通过某种未定义的方式将其他headers包括进来。……VC9 SP1下,include﹤algorithm﹥顺带的就包括了﹤iterator﹥,但在VC10下需要单独写明。

Knowledge extension: isual Studio 2010中的VC++对C++0x提供了很多支持,很多标准也与C++0x接轨。这样做的好处是很多的,但同时也会导致以前一些不符合C++0x规范的代码无法像原来那样工作。

what is C++ 0x

C++0x是C++11标准成为正式标准之前的草案临时名字。
C++是具有国际标准的编程语言,通常称作ANSI/ISO C++,1998年国际标准组织(ISO)颁布了C++语言的国际标准ISO/IEC 1488-1998。。1998年是C++标准委员会成立的第一年,以后每5年视实际需要更新一次标准。2009年,C++标准有了一次更新,一般称该草案为C++0x。后来,2011年,C++新标准标准正式通过,更名为ISO/IEC 14882:2011,简称C++11。
C++标准化委员会的主要焦点是在语言核心的发展上,C++0x关于核心语言的领域将被大幅改善,包括多线程支持、 泛型编程、统一的初始化,以及表现的加强。
原文地址:https://www.cnblogs.com/MCSFX/p/10235448.html