C++ 模板结构作为模板类类型
helpersp中的括号代表什么?既然helpers是一个单独的对象,我们怎么能遍历helpers呢?心灵的答案是否定的,因为我不知道数组到底是什么 似乎数组类模板重载了函数调用运算符,而不是索引运算符[]。只需将其当作普通数组索引括号[]所在的括号使用即可。 另外,您的代码清楚地显示了一种使用for循环迭代helpers的方法 无论如何,为了获得进一步的帮助,我们需要看一些代码。helpers是一个数组,其中第一个模板参数是T\u CG\u HELPER。这可能意味着它是一个T_CG_助手数组 您还没有向我们展示ARRAY类的外观,因此不可能知道如何对其进行迭代。helpersp意味着调用helpers上的运算符函数,将p作为参数传递C++ 模板结构作为模板类类型,c++,C++,helpersp中的括号代表什么?既然helpers是一个单独的对象,我们怎么能遍历helpers呢?心灵的答案是否定的,因为我不知道数组到底是什么 似乎数组类模板重载了函数调用运算符,而不是索引运算符[]。只需将其当作普通数组索引括号[]所在的括号使用即可。 另外,您的代码清楚地显示了一种使用for循环迭代helpers的方法 无论如何,为了获得进一步的帮助,我们需要看一些代码。helpers是一个数组,其中第一个模板参数是T\u CG\u HELPER。这可能意味着它是一个T_CG_助手数组
template<class T,class TV> struct CONJUGATE_GRADIENTS_HELPER{
DEFORMABLE_OBJECT<T,TV>* deformable_object;
int partition_id;
T time,dt;
T alpha,beta;
ARRAY<TV>* dX_full;
ARRAY<double> *S_dot_Q_partial,*rho_new_partial,*supnorm_partial;
};
typedef CONJUGATE_GRADIENTS_HELPER<T,TV> T_CG_HELPER;
ARRAY<double> S_dot_Q_partial(particles.particle_ranges->m);
ARRAY<T_CG_HELPER> helpers(particles.particle_ranges->m);
for(int p=1;p<=particles.particle_ranges->m;p++){
helpers(p).deformable_object=this;
helpers(p).partition_id=p;
helpers(p).time=time;
helpers(p).beta=beta;
helpers(p).S_dot_Q_partial=&S_dot_Q_partial;
}