【发布时间】:2020-10-24 09:21:27
【问题描述】:
我在玩指针,得到了我没想到的结果:
#include#include int main() { int arr[4] = { 1, 2, 3, 4 }; int* pArr = arr; std::cout 两种不同的结果:
1 2 3 4- 按照预期使用第一种方法
4 3 2 1- 使用带有多个参数的cout我不知道正确的名称。所以我的问题是 - 为什么会发生这种情况?使用多个
cout语句会产生预期的 for me 代码,而仅使用 1 个cout会产生向后的解决方案。作为旁注,另一个令我困惑的事情是预增量导致所有值都相等。在注释的代码位中,无论
++相对于*的位置如何,结果都是3 3。
【问题讨论】:
-
您使用的是哪个编译器和 C++ 版本?
-
@RobertAndrzejuk 我使用的是 Visual Studio,并且默认的任何 c++ 版本 - 切换到最新版本并开始工作,正如下面的评论者指出的那样。也感谢您的链接 - 有一些阅读要做:^)
-
默认 MSVC 是 C++14