проблема вот в чем, у меня много потоков, каждый из которых выполняет одну и туже последовательность операций, с той лишь разницей что глобальные переменные, которые учавствуют в вычислениях, являются элементами массивов, индекс которых является номером потока грубо говоря, тоесть я внутри нулевого потока пишу:
a[0]=b[0]+c[0];
втури первого потока соответсвенно
a[1]=b[1]+c[1];
и такдалее.
написал макрос
#define ABC(z) a[z]=b[z]+c[z]
и внутри нулевого потока пишу
ABC(0);
внутри первого
ABC(1);
и такдалее.
Но в реальности то строк выполняться должно куда больше, и в дифайне в конце каждой строки надо ставить \, а это Очень напрягает. ВОт я и думаю, а если сделать не дифайн а функцию
void ABC(char z)
{a[z]=b[z]+c[z];
}
то корректно ли будет вся хрень работать.На обычном си понятно, будет каша, обращение по любому к одному и томуже адресу. А вот С++ обращается по адресу или всетаки использует копию функции ABC. Можно ли из потоков вызывать копии функции? Но без классов.