我想知道C和C++中的指针 - 它如何帮助节省内存?我搜查了但没有得到满意的答案。请帮助我。C/C++指针帮助
2
A
回答
4
如果比较的代码下面两段:
foo() {
large_struct x;
bar(x);
}
bar(large_struct x) {
//do some funny things
}
和
foo() {
large_struct* x;
bar(x);
}
bar(large_struct* x) {
//do some funny things
}
在第一片,大结构x被在存储器中复制,而在第二代码段只是一个指针被复制到内存中。这是点,当你可以用指针节省内存。
2
不确定你究竟在做什么,但是......存储指针比存储它指向的对象的整个副本的内存少。
1
除了其他人所说的,指针是必要的动态内存分配(这也适用于更高级别的语言,但是(通常)被抽象掉)。这意味着如果没有指针,你只能使用(通常相当小的)堆栈内存,这更需要保护。
0
指针基本上用于指向内存中的位置。指针的类型指的是它指向的内存类型(通常),例如:一个char *(字符指针指向一个内含字符的内存),这个指针的“类型”也与它有很大关系指针运算,例如:如果将一个整数添加到指针名称中,地址将会产生多少跳转字节。
在C++中,您可以使用new运算符在运行时声明系统内存。这种类型的内存称为动态内存,应该明确删除。指针表示法用于指向使用“new”运算符分配的此类内存。例如:
char * a = new char;
或
char * a = new char[10]
这种存储器必须使用删除关键字 例如被删除或返回到该系统:
delete a;
或
delete [] a;
它是se作为一名来自我们的C++程序员的实践,他们倾向于忘记删除这种声称的内存,因此托管语言应运而生。最受欢迎的是Java,C#和托管C++(C++ CLI)。 (看来,我可以写一篇关于什么指针的完整篇文章,但我试图指出你的问题)。
我希望你能满意我的答案。 我希望这可以帮助
相关问题
- 1. 指针帮助C++
- 2. C++指针帮助
- 3. C++指针帮助?
- 4. 帮助空指针异常
- 5. C - 帮助理解指针
- 6. 指针算术帮助
- 7. seg故障/指针帮助
- 8. C++链表帮助(指针)?
- 9. 可可指针帮助
- 10. Projection.toPixels空指针...帮助?
- 11. 帮助CC处理脚本
- 12. 指针帮助,指向对象的指针和类
- 13. BST中的指针帮助C++
- 14. 在指针中需要一些帮助
- 15. 空指针错误的帮助?
- 16. 帮助第一个C++类/指针
- 17. C++概念的帮助,指针
- 18. 不熟悉C++指针,需要帮助
- 19. 二维阵列洗牌指针帮助
- 20. 帮助 - 在Python函数指针
- 21. javascript参考指针帮助/释
- 22. C++指针数组初始化帮助
- 23. 需要帮助了解指针语义
- 24. C++帮助在类中设置指针
- 25. 智能指针会帮助我吗?
- 26. 需要帮助惠特c + +指针
- 27. FFmpeg命令帮助和文档指针
- 28. 的C指针的帮助:数组/指针等价
- 29. 帮助铸造指向工会的指针
- 30. UIActivityview指标帮助?
请问您是否可以重新提出您的问题 - 因为它使我感到害怕或没有意义。 – 2010-07-10 15:27:53
指针不存在以节省内存。他们让语言更具表现力,所以你可以做一些本来不可能的事情。 – jalf 2010-07-10 15:56:16
我想知道我车里的方向盘。它如何帮助节省燃气?我搜查了但我没有得到满意的答案。请帮助我。 – 2010-07-10 15:57:29