小编mor*_*lir的帖子

在Eigen中访问矩阵的列作为向量

如何从矩阵中访问单个向量?

例如:有没有办法使用类似于返回?A(i)的矩阵来提取矢量?Eigen::MatrixXf A(10,10)Eigen::VectorXf A(10)

c++ eigen

22
推荐指数
1
解决办法
2万
查看次数

如何访问C++列表迭代器循环中的"previous"元素?

我试图在循环中访问先前迭代的元素,遍历列表的所有元素.

更具体地说,我的循环看起来像这样:

for (iter=list_object.begin(); iter!= list_object_.end(); iter++)
  {
    function_1(*iter);
    function_2(*PREVIOUS_VALUE_IN_THE_LIST);
  }
Run Code Online (Sandbox Code Playgroud)

如何在列表中访问此前一个值?

c++ iterator list

13
推荐指数
2
解决办法
2万
查看次数

迭代向量的所有成员

我有两个struct定义如下:

struct vertex
{
  double x;
  double y;
  double z;
};

struct finalVertex
{
  int n;
  vertex v;
};
Run Code Online (Sandbox Code Playgroud)

我使用以下代码遍历列表并打印所有成员:

  vector<finalVertex> finalVertices;
  vector<finalVertex>::iterator ve;

  for ( ve = finalVertices.begin(); ve < finalVertices.end(); ve++ )
    {
      out << *(ve).v.x << *(ve).v.y << *(ve).v.z << endl;
    }
Run Code Online (Sandbox Code Playgroud)

我收到以下错误代码:

main.cpp:651:错误:'class __gnu_cxx :: __ normal_iterator >>'没有名为'v'的成员

访问集合元素的语法正确方法是什么?

c++ iteration compiler-errors vector

4
推荐指数
1
解决办法
2165
查看次数

动态2D阵列创建运行时错误

我正在尝试使用以下函数代码创建一个multidimentional int数组:

int ** createIntMatrix(unsigned int rows, unsigned int cols) 
    {

  int ** matrix;
  unsigned int i,j;

  matrix = (int **) calloc(cols, sizeof(int *));

  for(i = 0; i < cols; i++)
    matrix[i] = (int *) calloc(rows, sizeof(int));


  for(i = 0; i < cols; i++)
    for(j = 0; j < rows; j++)
      matrix[i][j] = 0;

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

我在下面的代码中使用此函数创建了三个实例,

cout<<"allocating temporary data holders..."<<endl;
  int ** temp_meanR;
  int ** temp_meanG;
  int ** temp_meanB;
  temp_meanR = createIntMatrix(img->height,img->width);
  temp_meanG = createIntMatrix(img->height,img->width);
  temp_meanB = createIntMatrix(img->height,img->width); …
Run Code Online (Sandbox Code Playgroud)

c++ malloc multidimensional-array

0
推荐指数
1
解决办法
454
查看次数