C ++新手在这里。有没有人知道如何在使用Armadillo时将矩阵定义为C ++中的全局变量?
代码如下:
#include <iostream>
#include "armadillo"
using namespace std;
using namespace arma;
#define mat *g
int main(){
extern mat *g;
mat g << 1.0 << 2.0 << endr
<< 3.0 << 4.0 << endr;
return;
}
一个相关的问题是当我将它传递给函数时mat变量的类型是什么?它应该是somefunction(mat *g)
吗?
我在Windows 7计算机上使用Microsoft Visual Studio 2012。
谢谢!
答案 0 :(得分:2)
使用全局变量几乎总是一个坏主意。但要回答你的问题,可以按如下方式完成全局矩阵变量:
#include <iostream>
#include <armadillo>
using namespace std;
using namespace arma;
mat global_matrix;
int main(int argc, char** argv)
{
global_matrix << 1.0 << 2.0 << endr
<< 3.0 << 4.0 << endr;
global_matrix.print("global_matrix:");
return 0;
}