差异,我们应该更喜欢一个比其他的区别?什么是启动指针和内部指针以及何时使用启动指针和内部指针之间以及在何种情况下,这些
0
A
回答
4
作为一个完整的猜测,“开始指针”是由malloc
或new[]
返回的指针,而“内部指针”是指向分配中间的指针。
如果是这样,那么重要的区别是您需要free
开始指针,而不是内部指针。
这是不是从标准的术语,虽然。 “内部指针”通常意味着一个指向更大块内存的指针,我想/推导出其余部分。所以,你可能需要提供上下文。什么书/课程/面试是来自哪个问题?
0
我相信Steve Jessop的回答是一个正确的答案,即开始指针是malloc()等返回的指针。内部指针指向该分配内的位置。我无法改进他的答案,但我会扩展它:
作为一个示例,您可能需要多达几千个某些结构的实例作为链接列表。不需要根据需要为结构(或类)调用malloc(),只需调用一次malloc()就可以为几个thousdand实例分配足够的内存。然后你创建一个自由列表(空闲实例的链接列表)。您可以通过移动免费列表和使用列表之间的实例(通过调整指针链接移动)来使用并释放它。然后,当程序不再需要结构体的任何实例时,只需在起始指针(即最初由malloc()返回的起始指针)上调用free()。
我在.NET和Windows的Windows和C++编程环境中遇到了内部指针的另一个定义:http://www.codeproject.com/Articles/8901/An-overview-of-interior-pointers-in-C-CLI。
在C++/.NET中,内部指针也可能指向CLI堆中的内存指针,即.NET的托管内存。不过,在我看来,这是基本相同的想法。通过在.NET中使用C++和C来管理内存,我想我们并不关心starter指针,因为我们永远不会调用free()来释放内存。 .NET为我们做垃圾回收。
相关问题
- 1. 用指针内部的指针声明联合指针
- 2. 什么是强指针和弱指针
- 3. 使用指针:指针指针指针
- 4. 指针内指针的指针
- 5. 内存分配指针指向数组和指针指针
- 6. 如何将指针分配给栈上的指针以及堆上的指针?
- 7. 头部指针指针
- 8. 为什么我必须在这种情况下传递指针指针
- 9. 如何在不使用指针的情况下模拟指针?
- 10. 什么是指向指针的指针?
- 11. 如何使用指针和指针aritmetic
- 12. 动态内存和指针
- 13. 指针和指针数组指针
- 14. 指针和指针引用
- 15. C中的指针以及如何通过局部变量作为指针
- 16. 指向指针的指针和指向数组的指针之间的区别?
- 17. 为什么和什么时候值得使用指针指针?
- 18. 在C和C++中,const指针指针指的是什么?
- 19. 功能和指针指针
- 20. **指针和*指针C
- 21. 指针和.net指针
- 22. 指针和结构指针
- 23. std :: unique_ptr和指针指针
- 24. 结构和指针指针
- 25. 为什么cudaMalloc()使用指针指针?
- 26. 指针和数组[指针int和指向char的指针]
- 27. 在这种情况下,我可以重新使用指针吗?
- 28. 无指针的C++动态内存分配 - 指针的指向是什么?
- 29. 指向指针的指针和指向数组的指针
- 30. 指针指针的意义是什么?
我从来没有听说过内部指针。你从哪里听到这些名字? – RedX
如果[interior_ptr(http://msdn.microsoft.com/en-us/library/y0fh545k(V = VS.80)的.aspx)是你在说什么,请更新标签[C++ - CLI ](删除C,C没有这样的概念)。 – Mat
@Redx我正在经历以下DOC这意味着仅C:http://es.gnu.org/~aleksander/valgrind/valgrind-memcheck.pdf –