c++ - 转发指向值的指针,而不是值本身

标签 c++ pointers

<分区>

我想要指针数组到字符数组...(很奇怪,我知道,但我不能使用 STL 库) 所以我将其声明为: const char *** DbRecord; DbRecord = new const char**[1000];

然后我得到了这个函数:

 bool AddToArray(const char* value,
        const char *** database);

如何将指向 const char * value 的指针存储到位置 [0] 的 DbRecord 中?以及如何访问它以便能够读取实际上保存在那里而不是指针的值?我真的对 C++ 中的指针感到困惑:-/感谢您的解释...

最佳答案

how to store pointer to that const char * value to my DbRecord on position [0] ?

你不能,因为一旦函数结束,value 将超出范围。

你真的需要三颗星吗?在我看来,两个应该就足够了:

const char** DbRecord;
DbRecord = new const char*[1000];

void AddToArray(const char* value, const char** database)
{
    database[0] = value;
}

关于c++ - 转发指向值的指针,而不是值本身,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15911660/

相关文章:

c - 为什么程序会因使用 '%s' 取消引用 char 指针而崩溃?

c - strcmp() 和 strcat() 序列

c - 是否有可能检测到内存块被 C 上的杂散指针或野指针更改?

c++ - C++ 是通过值还是引用传递对象?

c++ - catch exception by reference 是否需要删除?

c++ - 使用\in 字符串作为文字而不是转义符

C - 指针减法

c - 如何清除传递给 C 函数的 char*?

c++ - 从 cpp 文件内联函数时出现链接器错误

c++ - 当使用 map::erase() "error: passing ' const ** *' as ' '***' 的这个参数丢弃限定符 [-fpermissive]”报告