我正在试验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)
永远行不通,对吧?