c++ - 在 C++ 中的 int 集 vector 中插入值

标签 c++ vector set stdset

我想将值插入 vectorset<int> ,这是使用 typedef 定义的如下所示:

typedef std::set<int> blockSet_t;
std::vector<blockSet_t>* myvector

我想要这样的值 myvector[0]有一个 setint小号,myvector[1]有一个不同的setint等等。

目前,我正在传递这个 vector到正在解析具有 set 的文件的函数的整数。

喜欢:

main()
{
 std::vector<blockSet_t> myvector;
 filereader(myvector);
}

我读了set从文件并将其存储在不同的 blockSet_t myset;

我正在使用以下循环来存储这个 setvector 中的特定位置:

filereader(&myvector)
{
 for(int i=0;i<size;i++)
 {
  myvector.push_back(myset); // It does not give error but I don't know myset is stored in which location
//what I want is to have someting like this

  myvector[i].push_back(myset); //so I can store different sets at different locations
 }
}

我也不知道如何显示 vector 中的值.

因为它是 set 的 vector s,我想显示每个 set (在不同的 vector 索引上)。

非常感谢这方面的任何帮助。

谢谢。

最佳答案

首先,push_back函数称为 push_back因为它将一个对象推回去。

这意味着,如果您的 vector是空的,你调用push_back您推送的对象将具有 0位置。

如果您的 vectorn它里面的对象,这意味着在 push_back 之后您推送的对象将具有 n - 指数。

myvector.push_back(myset);
std::cout<<"index of myset is "<<myvector.size()-1<<std::endl;

其次,如果你想打印值,你必须创建自己的operator<< std::ostream 的重载函数类(class)。这是在 C++ 中打印值的常用方法。

假设您要打印 set curl {}方括号和 vector []一个:

#include <ostream>

inline std::ostream& operator<<(std::ostream &os,const blockSet_t &mySet)
{
    os<<"{ ";
    for(const auto &value:mySet)
    {
        os<<value<<' ';
    }
    os<<"};
    return os;
}

inline std::ostream& operator<<(std::ostream &os,const std::vector<blockSet_t> &myvector)
{
    os<<"[ ";
    for(const auto &mySet:myvector)
    {
        os<<mySet<<' ';
    }
    os<<"];
    return os;
}

接下来,你必须cout你的对象是这样的:

#include <ostream>

main()
{
    std::vector<blockSet_t> myvector;
    filereader(myvector);
    std::cout<<myvector<<std::endl;
}

关于c++ - 在 C++ 中的 int 集 vector 中插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35518781/

相关文章:

algorithm - 这个问题是 NP 问题吗,它有名字吗?

c++ - g++ 中的错误 "cannot appear in a constant-expression"但 gcc 中没有

c++ - 使用 C++98 标准编写的代码可以用新的编译器编译吗?

c++ - 有效地检查一个文本文件是否完全是空格 C++

c++ - 大小在运行时确定的静态数组 vector

c++ - 插入链表的 vector 元素?

java - 从分布不均匀的集合中选择随机元素?

c++ - 从 C++ 中具有非常量数组大小的函数返回数组指针

c++ - 我怎样才能在 vector 中有一对引用?

python - python中是否有等同于非唯一集的数据结构?