当前位置: 首页 > 知识库问答 >
问题:

矢量的打印值 [重复]

诸葛雅达
2023-03-14

我正在使用push_back()函数插入这些元素,我想知道

我如何打印向量c的内容?

vector<int> c[2];
c[0].push_back(0);
c[0].push_back(1);
c[1].push_back(2);
c[0].push_back(3);

我尝试过(int i = 0; i

但它给了我这个错误

error: no match for 'operator<<' in 'std::cout << c[i]'|

共有2个答案

卞博简
2023-03-14
匿名用户

每当你看到下面的标志<代码>

1-有一个< code>iterarot类,允许您在vector:

vector<int>::iterator it;

cout << "myvector contains:";
for ( it=myvector.begin() ; it < myvector.end(); it++ )
    cout << " " << *it;

cout << endl;

2-如果您正在编写类,请编写一个重载函数,如下所示:

迭代

std::vector<int>::const_iterator iter= vec.begin();
for(iter; iter != vec.end(); ++iter)
  {
     cout<<*iter; //This is what step 2 provides for
  }

重载功能:

ostream& operator<<( ostream& os, const vector<int>&)
  {

  }

以下是如何使用向量和迭代器:

    cout << "vector from initializer list: " << endl;
    vector<int> vi1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

    cout << "size: " << vi1.size() << endl;
    cout << "front: " << vi1.front() << endl;
    cout << "back: " << vi1.back() << endl;

    // iterator
    vector<int>::iterator itbegin = vi1.begin();
    vector<int>::iterator itend = vi1.end();
    for (auto it = itbegin; it < itend; ++it) {
        cout << *it << ' ';
    }
    cout << endl;

    cout << "element at 5: " << vi1[5] << endl;
    cout << "element at 5: " << vi1.at(5) << endl;

    cout << "range-based for loop:" << endl;
    for (int & i : vi1) {
        cout << i << ' ';
    }
    cout << endl;

公良信然
2023-03-14
  for (const auto & vec : c) {
        for (const auto elem : vec)
            std::cout << elem << ' ';
        std::cout << '\n';
    }

你至少需要C 11。

此外,您还可以:

constexpr size_t vecLen = 2;
std::vector<int> c[vecLen];
c[0].push_back(0);
c[0].push_back(1);
c[1].push_back(2);
c[0].push_back(3);

for (size_t vecIndex = 0; vecIndex < vecLen; ++vecIndex) {
    for (size_t itemIndex = 0; itemIndex < c[vecIndex].size(); ++itemIndex)
        std::cout << c[vecIndex][itemIndex] << ' ';
    std::cout << '\n';
}

但我不会推荐。

 类似资料:
  • 我正在尝试感受 C ,我想打印向量的内容,或者,为了确认我的程序是正确的,我可以添加向量的内容并打印结果。 这是我的代码: 我在网上找到了一些打印矢量的解决方案,但是我不明白这些代码在做什么,所以我希望有人能帮忙。

  • 如何将的内容打印到屏幕? 实现以下< code >运算符的解决方案 以下是我目前所拥有的,没有单独的功能:

  • /* main.c */ extern void print_var_1(void); extern void print_var_2(void); int main(void) { print_var_1(); print_var_2(); return 0; } /* static-1.c */ #include <stdio.h> static int var = 1;

  • 我试图使用“cout”将一个整数向量打印到终端,但是在编译过程中我得到一条错误消息: 没有“运算符”的匹配项 代码片段如下所示: 给向量赋值没有错误,只有代码的“cout”部分出错

  • 错误信息: D:\main.cpp:91:错误:与“operator<<”不匹配(操作数类型为“std::ostream{aka std::basic_ostream}”和“__gnu_cxx::__alloc_traits>::value_type{aka Obj}”)cout<

  • 问题内容: 我有一个PostgreSQL函数 如何将DeletedContactId的值打印到控制台? 问题答案: 您可以按以下方式提出通知: 在这里阅读