C++ set<int> s; 的意思

代码如下:

while(T--){
        cin >> n;
        for(int i = 0; i < n; i++){
            cin >> A[i];
        }
        set<int> s; // 这行不懂(“set”)
        int L = 0, R = 0, ans = 0;
        while(R < n){
            while(R < n && !s.count(A[R])) s.insert(A[R++]);
            ans = max(ans, R - L);
            s.erase(A[L++]);
        }
        cout << ans << endl;
    }

代码中的不懂

STL(Standard Template Library,标准模板库),可以从广义上分为:容器、算法和迭代器。容器和算法通过迭代器无缝连接,STL几乎所有的代码都采用了模板类或者模板函数。

STL中的组件分别为:
1)容器:各种数据结构,如:vector、list、deque、set、map等,用来存放数据。
2)算法:各种常用的算法,如sort、find、copy等
3)迭代器:扮演了容器与算法之间的胶合剂。
4)仿函数:行为类似函数,可作为算法的某种策略。
5)适配器(配接器):一种用来修饰容器或者仿函数或迭代器接口的东西。
set/multiset容器简介:所有元素都会在插入时自动被排序。
本质:set/multiset属于关联式容器,底层结构是用二叉树实现。
set和multiset区别:
1)set不允许容器中有重复的元素;
2)multiset允许容器中有重复的元素。

是一个集合,不允许容器中有重复的元素
你的代码中是存入输入的n个值中不重复的整数


set<int> s;
cin >> n;
        for(int i = 0; i < n; i++){