C++中的a std::vector和a有什么区别std::array?什么时候应该优先于另一个?各自的优点和缺点是什么?我的所有教科书都列出了它们是如何相同的.
valarray类的外观的同时,以array一流的,可以请你解释我在哪里,我宁愿valarray过array反之亦然?
在此之前,我一直在学习代码在学校(矢量,字符,二维数组,没什么太花哨的),并在CodeBlocks中用C++编写代码.一个月前,我开始从C++ Primer学习.我现在处于矢量类型,我对此感到困惑.当我以前使用向量时,我从未包含任何其他库,我声明了这样的向量:
#include <iostream>
int main ()
{
int v[10];
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在,矢量以更复杂的方式定义,使用vector库,提及定义中的元素类型等等.
我只是想知道如何在主题上有这么大的差异我认为相当容易.这些载体究竟是什么问题?
我为我的幼稚而感到抱歉,但我不明白为什么NN训练过程(word2vec)产生的词嵌入实际上是向量。
嵌入是降维的过程,在训练过程中,NN将词的1/0数组缩小为较小的数组,该过程不执行任何应用矢量算法的过程。
因此,结果是我们只有数组而不是向量。为什么将这些数组视为向量?
即使我们得到矢量,为什么每个人都将它们描述为来自原点(0,0)的矢量?
再次,对不起,如果我的问题看起来很愚蠢。
这可能听起来很简单,但我有点困惑.我想知道的是c ++中这两个向量声明之间的区别.
vector< vector<int> >a(some_size)
vector<int>b[some_size]
Run Code Online (Sandbox Code Playgroud)
我想知道我们可以使用其中一个但不能使用其他一个的情况.请提供除依赖于固定大小的数组和可变大小的向量的情况以外的情况.请提供示例代码以证明您的观点.
提前致谢.