Как сделать вар.имя с вар.в C / C ++? - PullRequest
0 голосов
/ 23 октября 2010

У меня есть несколько концертов:

int foo1;
int foo2;
..

и я хочу связаться с ними с:

for (int i = 1;i<=2;i++)
{
   // howto get foo1 and foo2?
}

как их получить?

РЕДАКТИРОВАТЬ, конец что, когда это будет не int, а указатель Opject *?

1 Ответ

7 голосов
/ 23 октября 2010

Вы не можете;вам нужен массив какой-то.Например:

int foo[2];   /* Two elements, foo[0] and foo[1] */
for (int i = 0; i < 2; i++)
{
    foo[i] = i;
}

или:

int foo1;
int foo2;
int *p[] = { &foo1, &foo2 };   /* Array of pointers */
for (int i = 0; i < 2; i++)
{
    *p[i] = i;   /* Changes foo1 or foo2 */
}

Я не совсем понимаю ваш последний вопрос, но если вы хотите сказать, что вы хотите, чтобы типы данных были Object *, а не int, тогда все, что вам нужно сделать, это заменить Object * на int в моих примерах кода выше (очевидно, кроме int i = 0).

...