如何定义大小不确定的向量

zah*_*wer 5 c++ size vector

我是一个初学者,我想在cpp中编写一个循环,其中向量的大小未知,该大小由if函数决定。基本上我想将此MATLAB代码转换为cpp代码:

v(1)=A(1);
for i=2:length(A)
     if (abs((A(i)-v))>10^(-5))
       v=[v;A(i)];      
     end
end
Run Code Online (Sandbox Code Playgroud)

在代码中很明显,在循环开始之前v的大小是不确定的,如何在cpp中编写此代码?

Jos*_*eld 5

在 C++ 中,如果我们想要一个可以添加值并在运行时扩展的值容器,我们可以使用std::vector. 正如您所看到的,它的命名很适合您的目的。matlab 行,将来自v=[v;A(i)];的值连接起来,相当于使用函数:。Avstd::vector::push_backv.push_back(A[i]);