添加到C++中的指针位置

问题描述:

我有int foo,它的地址是一个整数。 如何添加到foo指向一行的整数?添加到C++中的指针位置

解决方案:

(*(int *)foo)+=1 

这是我如何处理它。

+2

你的意思foo是一个int指针?即。 'int * foo' – GWW 2011-04-04 21:09:40

+2

请用一个例子来说明你的问题。 – jonsca 2011-04-04 21:10:42

+0

你的意思是你有一个存储在“int”中的指针值? – 2011-04-04 21:12:35

要添加到指针指向的值:

int * pointer; 
int value; 
(*pointer) += value; // parans for clarity, not necessarily needed 
+0

不,这会覆盖旧值。 – delnan 2011-04-04 21:10:59

+0

你的意思是'+ ='? – 2011-04-04 21:11:52

+0

是的,修好了。 :) – ssube 2011-04-04 21:12:06

int a = 4; 
int* foo = &a; 
// and now the one line you asked 
*foo = *foo + 2; // a = 6 

如果你是一个递增和感觉写它的最短路径(++ *指针)。例如:

int i = 0; 
int* ip = &i; 

cout << i << endl; 
++*ip; 
cout << i << endl; 

输出:

0 
1