сказать, что яC++ цикл через вектор структуры
struct S {
double A;
double B;
double C;
};
и
std::vector<S> vecS(10);
Я пытаюсь написать обобщенную функцию void F(std::vector<S> vecS,structure S.x)
таким образом, что следующее вычисление может произойти
F(std::vector<S> vecS, structure S.x) {
for(i=1;i<10;i++)
vecS[0].x += vecS[i].x;
// note the structure does not have memeber "x"
// I want to give that as a generic input to access A,B or C
}
Вышеприведенный код неправильный код, но я просто пытаюсь продемонстрировать, что я пытаюсь вычислить.
То, что я пытаюсь вычислить, - это цикл над вектором structs для определенного элемента. Возможно ли это простым способом? Может кто-то, пожалуйста, дайте мне несколько указателей, как получить доступ к члену структуры в общем виде (возможно, это то, что мне нужно, чтобы написать эту функцию).
Заранее спасибо.
Это немного похоже на http://stackoverflow.com/a/3205057/667798. Я предлагаю выполнить «накапливание» над вектором, используя выражение лямбда, которое извлекает переменную-член, которую вы хотите. –