У меня есть int foo, в котором есть адрес целого числа. Как добавить к целому числу, на которое foo указывает в одной строке?
Решение:
(*(int *)foo)+=1
Вот как я с этим справился.
Чтобы добавить значение, на которое указывает указатель:
int * pointer; int value; (*pointer) += value; // parans for clarity, not necessarily needed
Если вы увеличиваете на единицу и хотите написать его кратчайшим путем (указатель ++).Пример:
int i = 0; int* ip = &i; cout << i << endl; ++*ip; cout << i << endl;
Вывод:
0 1
int a = 4; int* foo = &a; // and now the one line you asked *foo = *foo + 2; // a = 6