c++ - 如何在 C++ 函数中正确使用指针?

标签 c++ loops for-loop pointers pre-increment

我正试图掌握 C++ 中指针和地址的窍门,但在处理参数不断变化的函数时遇到了麻烦。

下面的代码是在无限循环中编写 Loop run #1.,而不是递增值 foo

我的问题是:这段代码有什么问题?

#include <iostream>

void Statement(int *foo) {
    std::cout << "Loop run #" << *foo << ". ";
    foo++;
}

int main() {

    int foo = 1;

    for (;;) {
        Statement(&foo);
    }

}

最佳答案

您正在递增指针本身的拷贝,而不是它指向的内容。你的意思可能是:

(*foo)++;

虽然这仍然无法解决无限循环,因为您没有什么可以阻止它的。

关于c++ - 如何在 C++ 函数中正确使用指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56809537/

相关文章:

c++ - 为什么我必须这样声明指针?

c - 为什么 BSS 中静态数组的第二次循环比第一次循环更快?

azure - terraform 嵌套在 azure 存储帐户中的每个循环

java - 如何for循环某种模式?

c++ - 如何将函数作为 cuda 内核参数传递?

c++ - 移动构造函数和继承

c++ - 编译错误VTK,C++

PHP 和 MySQL 通过 GET 循环相同的查询字符串

具有无限循环和找零计数器 c 的收银机

scala - Scala 中的条件循环转换