c++ - 这是通过引用传递文件指针的正确语法吗?

标签 c++ pointers variables reference pass-by-reference

这是通过引用传递文件指针的正确语法吗?

函数调用:printNew(&fpt);

printNew(FILE **fpt)
{        
   //change to fpt in here kept after function exits?
}

最佳答案

没有。正确的语法是

void printNew(FILE *&fpt)
{        
   //change to fpt in here kept after function exits?
}

您的代码只会将本地指针更改为 FILE 指针。代码中的调用者只能看到对 *fpt 的更改。如果将其更改为上面的内容,则将通过引用传递内容,并按预期促进更改。相应的参数照常传递

printNew(fpt);

关于c++ - 这是通过引用传递文件指针的正确语法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3230995/

相关文章:

c++ - 嵌套 friend 类所需的前向声明

c++ - Stringstream 到 Vector<char> 抛出 std::bad_alloc

c++ - *** 检测到 glibc *** free() : invalid pointer

sql - 如何将字段内的值总和分配给变量?

R:编写for循环计算差值并存储在新变量中

variables - 如何从另一个函数访问结构变量?

c++ - 使用引用变量复制构造函数

c# - 在 Windows 上获取 cpu % 使用率和网络吞吐量的最有效和最基本的方法?

c - 如何将 double 组传递给 C 中的函数?

c++ - 如何在 C++ 中为指针分配常量地址?