c++ - 检测指针是否指向...的方法,到底在哪里?

标签 c++ pointers

char* cc = "Something string like";
char* ccn = new char[2];
ccn[0] = 'a';
ccn[1] = '\0';
cout << cc;

第二个指针,为了防止内存泄漏,应该被delete[]但是如何检测指针是否真的指向新的内存(就像第一个线)?第一个字符串是在哪里创建的?

最佳答案

不,你不能,你不应该以期望你能够这样做的方式设计你的应用程序。关于第一个字符串创建位置的问题 - 答案是“在编译器方便的地方” - C++ 标准未指定。

解决这个问题的明显方法不是使用 char 数组,而是使用 std::strings。

关于c++ - 检测指针是否指向...的方法,到底在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5849432/

相关文章:

c++ - 双向链表插入问题

pointers - 将具有多个变量的结构写入单个字节数组

c++ - 重复符号后如何可靠地使用dlsym?

c++ - 友元定义函数的命名空间是什么?

c++ - 文件读取问题

c++ - 函数的 std::vector

c - 结构数组和使用指向函数的指针变量

c++ - 我对 enable_if 和 has_member 做错了什么?

c++ - 如何使用 OpenMP 并行化此 Matrix times Vector 操作?

c - 在C中交换二维数组(指针到指针)