小编73m*_*eam的帖子

指针算术增加后/预修复

我无法完成下面某段特定代码的逻辑.

int i[] = { 21, 4, -17, 45 };

int* i_ptr = i;

std::cout << (*i_ptr)++ << std::endl;   // 21

std::cout << *i_ptr << std::endl;       // 22

std::cout << *i_ptr++ << std::endl;     // 22

std::cout << *(i_ptr - 1) << std::endl; // 22

std::cout << *i_ptr << std::endl;       // 4

std::cout << ++*i_ptr << std::endl;     // 5

std::cout << *++i_ptr << std::endl;     // -17

system("pause");
Run Code Online (Sandbox Code Playgroud)

我的问题是这段代码是如何从22 ...

std::cout << *(i_ptr - 1) << std::endl; // 22
Run Code Online (Sandbox Code Playgroud)

到4.

std::cout << …
Run Code Online (Sandbox Code Playgroud)

c++ pointers pointer-arithmetic

2
推荐指数
1
解决办法
93
查看次数

标签 统计

c++ ×1

pointer-arithmetic ×1

pointers ×1