Joh*_*dio 0 c++ pointers const function
所以,当我将一个const char *函数传递给一个函数时,我可以再次使用它吗?它似乎最终吐出废话给我.
const char *config_file = "file.txt";
function(int x, config_file);
cout << "Number" << x;
secondfunction(int y, config_file);
Run Code Online (Sandbox Code Playgroud)
我需要另一个指向config_file的指针吗?
如果是这样,我该怎么做?
谢谢!
pax*_*blo 10
不,你可以使用它就好了.尽管您提供的代码是无法编译的,但我想我理解您的要求.
代码段如:
const char *x = "Hello";
fnA (x);
fnB (x);
Run Code Online (Sandbox Code Playgroud)
应该没问题.
如果你发现它fnB没有得到它所期望的那么:
fnA正在改变x指向的东西(通常不可能,因为它是a const char *); 要么试试这段代码作为例子:
#include <iostream>
#include <iomanip>
static void fnA (const char *a) {
std::cout << "fnA: [" << a << "]" << std::endl;
}
static void fnB (const char *b) {
std::cout << "fnB: [" << b << "]" << std::endl;
}
int main (void) {
const char *x = "Hello";
fnA (x);
fnB (x);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
按预期输出:
fnA: [Hello]
fnB: [Hello]
Run Code Online (Sandbox Code Playgroud)