0

我正在试验FreeFem++,它基本上是一个c++带有一些附加库的编译器。

正如您在此处看到的:https ://doc.freefem.org/references/types.html一个 5 元素数组可以定义并打印为:

int n = 5;
real[int] Ai(n);
for (int i = 0; i < n; i++)
    Ai[i] = i;
cout << Ai << endl;

(请注意,real 是一种自定义类型,实际上是双精度类型)。

作为一个(新手)c++开发人员,我会real使用模板定义类,并且使用正确的构造函数,我可以通过一些调用来做同样的事情,比如real<int>.

问题

是否可以编写一个c++库来使上述FreeFem++代码工作(具体来说,我想要方[]括号,而不是<>)?

我的尝试

作为FreeFem++开源,我试着看一下代码。

https://github.com/FreeFem/FreeFem-sources/blob/master/src/fflib/array_real.cpp

我无法真正破译它,但是我的猜测是这是不可能的,实际上是FreeFem++编译器[int]<int>.

奖金

有时我还会看到部分代码,例如

cout << v[] << endl;

它在哪里打印一个向量,但是要访问我必须做的向量的元素v[][5]。那是什么法术?重载operator[](void)永远行不通,对吧?

4

0 回答 0