Tag: vector

vector在C ++中的<int> :: size_type

这个C ++语句是什么意思? vector<int>::size_type x; 而且,范围操作符::这里有什么用? 换句话说,我们如何阅读英文的这个陈述呢? 例如,对于X::x(){…} ,我们说x()是class X的member function 。

向量C ++上的Memset

在C ++中,有没有memset等价函数? (不clear()或erase()方法,我想保留向量的大小,我只是想初始化所有的值。)

如何将std :: string复制到std :: vector <char>中?

可能重复: 将std :: string转换为std :: vector <char> 我试过了: std::string str = "hello"; std::vector<char> data; std::copy(str.c_str(), str.c_str()+str.length(), data); 但它不工作=(所以我想知道如何将std::string复制到std::vector<char>或std::vector<uchar> ?

Haskell中一个现有的大小 – 惰性向量types

我希望能够使用O(1)摊销寻址与vectortypes,根据所需的指数懒惰地增长。 这可以通过使用标准加倍algorithm来实现对O(1)访问进行配对,使用MVector (PrimState m) a :和PrimRef m [a]来保持余数。 {-# LANGUAGE ExistentialQuantification #-} module LazyVec where import Control.Monad.Primitive import Data.PrimRef import Data.Vector.Mutable (MVector) import qualified Data.Vector.Mutable as M import Data.Vector (fromList, thaw) import Control.Monad (forM_) data LazyVec ma = PrimMonad m => LazyVec (MVector (PrimState m) a) (PrimRef m [a]) — prime the LazyVec with the […]

对n个第一个元素已经sorting的向量进行sorting?

考虑N元素的std::vector v ,并且认为n第一个元素已经被sorting, n < N ,其中(Nn)/N非常小: 有一个聪明的方法使用STLalgorithmsorting这个向量比完整的std::sort(std::begin(v), std::end(v))更快吗? 编辑:澄清:(Nn)未分类的元素应插入在已sorting的n个第一个元素内的正确位置。 EDIT2:奖金问题:以及如何findn? (对应于第一个未分类的元素)

在同一平面内具有相同原点的两个3Dvector之间的夹angular

我需要的是两个vectorVa和Vb之间的符号旋转angular度,这两个vector位于相同的3D平面内并具有相同的原点,因此知道: 包含两个vector的平面是任意的,并不平行于XY或任何其他的基本平面 Vn – 是一个正常的飞机 两个vector与法线都具有相同的原点O = {0,0,0} Va – 是测量Vn左旋的参考 angular度应该这样测量,所以如果平面是XY平面,Va将代表X轴单位vector。 我想我应该用Va作为X轴,Vb和Vn的叉积作为Y轴进行一种坐标空间变换,然后像atan2()那样使用一些2d方法。 有任何想法吗? 公式?

指向vector的指针

我有一个向量的指针。 现在,我如何通过指针读取vector的内容? 我知道这是一个基本的问题,但我无法find相同的答案(C ++)

从头到尾,迭代C ++向量

是否有可能从头到尾迭代一个向量? for (vector<my_class>::iterator i = my_vector.end(); i != my_vector.begin(); /* ?! */ ) { } 或者只有这样的可能性: for (int i = my_vector.size() – 1; i >= 0; –i) { }

Python – 3Dvector的旋转

我有两个向量作为Python列表和一个angular度。 例如: v = [3,5,0] axis = [4,4,1] theta = 1.2 #radian 绕v轴旋转vvector时,得到最终vector的最佳/最简单的方法是什么? 对于轴向量指向的观察者,旋转应该是逆时针的。 这就是所谓的右手规则

2D欧几里得vector旋转

我坐在坐标(0, 1)有一个欧几里得vector。 我想围绕原点旋转90度(顺时针):( (0, 0) 。 如果我对这应该如何工作有一个正确的理解,旋转后的结果(x,y)坐标应该是(1, 0) 。 如果我将它旋转45度(仍然是顺时针),那么我会期望得到的坐标是(0.707, 0.707) 。 theta = deg2rad(angle); cs = cos(theta); sn = sin(theta); x = x * cs – y * sn; y = x * sn + y * cs; 使用上面的代码, angle值为90.0度,结果坐标是: (-1, 1) 。 而我真是太糊涂了。 在下面的链接中看到的例子肯定表示上面显示的相同的公式? 我做错了什么? 还是我误解了一个vector是如何旋转的?