将non const char *传递给const char *和函数的参数



我想将字符串传递给函数,但要节省复制函数堆栈上的指针以提高性能。我意识到操纵constness的多线程危险。

一件事是使用&arr[idx](char数组(作为指针传递给CCD_ 2。

编译器抱怨无法将引用绑定到函数arg。我如何操作构建以允许它?

我试图首先将char*强制转换为const char*,将其存储在变量中,然后将该变量传递给func。请注意,它必须存储在变量中,因为您将指针作为引用传递。希望这就是你想要的:

#include <iostream>
using namespace std;
void func(const char* &charArrItemRef)
{
cout << charArrItemRef << endl;
}
int main()
{
char* a[5] = {(char*)"abc", (char*)"def", (char*)"sss", (char*)"dasds", (char*)"aad"};
const char* c = reinterpret_cast<const char*>(a[0]);
func(c);
// EDIT:
char b[10] = "abcdefghi";
const char* d = &b[3];
func(d);
return 0;
}

最新更新