标签: vector

-6
推荐指数
1
解决办法
66
查看次数

迭代的有趣输出

解释垃圾发生的原因和发生的垃圾数量.

#include <vector>
#include <iostream>

using namespace std;

int main() {
    vector<int> v1;
    vector<int> v2;

    for(int i=0 ; i < 10 ; i++)
        v1.push_back(i);

    for(int i=11 ; i <= 20 ; i++)
        v2.push_back(i);

    for(vector<int>::iterator it = v1.begin() ; it != v2.end() ; it++)
        cout << *it << " ";

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ stl vector

-7
推荐指数
1
解决办法
84
查看次数

如何在没有segfaulting的情况下访问向量中的索引

我知道这很简单,所以我提前道歉.

当我试图通过索引访问向量时,我是segfaulting.例如...

vector<float> some_vec;
int i = 0;

for (some iterator loop here)
{
    //snip
    some_vec[i] = some_float;
    i++;
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

c++ vector

-8
推荐指数
1
解决办法
197
查看次数

计算R矢量中的值

我有一个很大的百分比向量(0-100),我试图计算它们中有多少是特定的20%桶(<20,20-40,40-60,60-80,80-100).向量的长度为129605,没有NA值.这是我的代码:

x<-c(0,0,0,0,0)
for(i in 1: length(mail_return))
{
    if (mail_return[i]<=20)
    {
        x[1] = x[1] + 1
    }
    if (mail_return[i]>20 && mail_return[i]<=40)
    {
        x[2] = x[2] + 1
    }
    if (mail_return[i]>40 && mail_return[i]<=60)
    {
        x[3] = x[3] + 1
    }
    if (mail_return[i]>60 && mail_return[i]<=80)
    {
        x[4] = x[4] + 1
    }
    else
    {   
        x[5] = x[5] + 1
    }
}
Run Code Online (Sandbox Code Playgroud)

但是sum(x)给我的长度是133171.不应该是向量的长度,129605?怎么了?

r vector

-8
推荐指数
1
解决办法
1114
查看次数

memset导致"矢量迭代器不兼容"错误

目前正在使用我的DirectX游戏并在常量缓冲区构造函数中使用memset(0)(或VS中的ZeroMemory宏)来使用零初始化所有值,并且它可以正常工作.当我不小心尝试以这种方式初始化包含向量的其他结构时出现问题.根据编译器(VS2010/VS2012),这会导致"矢量迭代器不兼容",std :: vector :: end更加精确.我可以理解memset可能会使向量迭代器无效,但是在我将元素推回到向量之后,为什么"结束"迭代器无法正常工作.它不应该重新定位向量将迭代器结束到正确的位置(在最后一个元素之后)?所有类型的std :: some_container :: end迭代器都受此影响了吗?

#include <vector>

class MyClass
{
public:
    MyClass() { 
        memset(this, 0, sizeof(*this));
    }
    ~MyClass() {}
    std::vector<int>& GetData() { return m_data; }
    float            m_range;
private:
    std::vector<int> m_data;

};

int main()
{
    MyClass myClass;
    myClass.GetData().push_back(1);
    myClass.GetData().push_back(2);

    for (auto it = myClass.GetData().begin(); it != myClass.GetData().end(); it++)     
    {
        //stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

c++ iterator vector memset

-8
推荐指数
1
解决办法
431
查看次数

std :: vector sort不起作用

我试图对矢量包含结构进行排序.我必须根据结构中的成员进行排序.排序我使用std :: sort函数和参数作为结构引用和成员来检查条件.

QStringList keys =  m_pLDFFrameMap.keys();

    foreach (QString key, keys) {
        LDFFrameData frmData = m_pLDFFrameMap.value(key);
        vector<LDFSignalsData> myList;
        QList <LDFSignalsData>sigData = frmData.m_SignalDataList;
        for (int i =0; i < sigData.size(); i++) {

            LDFSignalsData signal = sigData.at(i);
            qDebug()<<"Before signal:"<<signal.startBits<<"Name:"<<signal.frameSignals;
            myList.push_back(signal);
        }

        foreach (LDFSignalsData sig1, myList) {
            qDebug()<<"Signal act data:"<<sig1.startBits<<"Name:"<<sig1.frameSignals;

        }
        sort(myList.begin(), myList.end(), sortingSignals);
        for(int i =0; i < myList.size(); i++) {
            qDebug()<<"After sorting signal:"<<myList.at(i).startBits<<"Name:"<<myList.at(i).frameSignals;
        }
    }
Run Code Online (Sandbox Code Playgroud)

sortSignals()的排序函数是

bool sortingSignals(const LDFSignalsData &first, const LDFSignalsData &second)
 {

    if (first.startBits < second.startBits)
        return true;
      else …
Run Code Online (Sandbox Code Playgroud)

c++ sorting stl vector

-8
推荐指数
1
解决办法
273
查看次数

为什么我不能直接push_back从向量中的函数更新值?

push_back使用功能更新值的向量不允许为什么?

std::vector< std::string >goin;
goin.push_back(function(somestringvalue)); // why cant it take update value?

void function(std::string& var)
{
    var += "pre";
}
Run Code Online (Sandbox Code Playgroud)

c++ vector push-back

-8
推荐指数
1
解决办法
511
查看次数

vector <int> v(N)和vector <int> v [N]之间有什么区别?

什么是vector< int > v(N)

  1. 它是一个可以具有最大尺寸N(如vector<int> v)的数组吗?

  2. 和它一样vector<int> v[N]吗?

我认为这是第一个(如果我错了,请纠正我).

什么是vector< vector< int > > V(N)?它是否像最大尺寸的2D阵列Nvector < int > v[N]和之间有什么区别vector< vector< int > >v(N)

c++ arrays stl vector

-10
推荐指数
1
解决办法
4893
查看次数

无法在c ++中将集合的元素插入向量

给定一组整数:

set<int> setA = {1,2,3,4,5};
Run Code Online (Sandbox Code Playgroud)

现在我想在一定条件下将整数插入整数向量:

vector<int> vectorB;
for (set<int>::iterator it = setA.begin(); it != setB.end(); it++){

      if (*it % 2 == 0){
      }else{
        vectorB.insert((*it));
        count += 1;
       }
}
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误:

error: no matching function for call to 'std::vector<int>::insert(const int&)'
Run Code Online (Sandbox Code Playgroud)

为什么?

c++ insert vector

-11
推荐指数
1
解决办法
447
查看次数

具有类型作为指向另一个类的对象的指针的通用类 - 不工作

为什么这不起作用:

class/struct SomeClass
{
public:
      int     SomeValue;
}

template <class/struct/typename T> class/struct TClass
{
public:
        T     TObject;
}

vector<TClass<SomeClass*>> *vTcSomeClass = new vector<TClass<SomeClass*>>();
Run Code Online (Sandbox Code Playgroud)

这是非法的还是我做错了?

c++ generics templates pointers vector

-12
推荐指数
1
解决办法
154
查看次数

如何计算向量的绝对值?

 std::vector<float> a {-0.2, 2.0, -0.9, 2.4, 22.0}
Run Code Online (Sandbox Code Playgroud)

如何获取所有向量元素的绝对值?

c++ vector

-14
推荐指数
1
解决办法
7273
查看次数

标签 统计

vector ×11

c++ ×10

stl ×3

arrays ×1

generics ×1

insert ×1

iterator ×1

memset ×1

pointers ×1

push-back ×1

r ×1

sorting ×1

string ×1

templates ×1