有什么你可以做的,唯一的方法是在C ++中使用指针吗?

时间:2014-12-11 11:52:20

标签: c++ pointers

所以我知道在C指针上可以做很漂亮的东西。 但是C ++是面向对象的。我可以引用一个对象而不是指针。我对吗?那么为什么要用C ++指针呢? 我可以理解,出于兼容性原因,可能会实现指针。指针是C.的力量。好的。但是真的,你能用C ++做些什么吗?唯一(或者最好)方式是使用指针吗?

你能举个好榜样吗?

为了更清楚: 在C ++中有什么东西我只能通过使用指针来完成吗? 我可以避免使用指针,仍然可以使用指针的人在C ++中做的事情吗?

2 个答案:

答案 0 :(得分:3)

对于初学者来说,多态性只有在访问时才有效 指针或引用。更一般地说,任何一种动态 结构(图形等)将需要指针,它几乎是 总是有必要能够在对象之间进行导航 还需要指针。实际上,使用OO的愿望 技术往往是很多指针背后的主要原因 C ++。

您可能会注意到“纯粹的”OO语言 要求所有东西都是指针,正是出于这些原因。

答案 1 :(得分:1)

这个问题有点宽泛和哲学。实际上,不可能完全省略指针,因为通常使用的API需要它(例如main函数的参数)。如果由于特定的固定技术原因不需要指针,理论上就没有必要使用指针。

但是,这句话是 cum grano salis ;如果没有使用指针,则无法进行动态内存管理,分配和释放。另一方面,如果允许使用STL,则所有这些都被很好地封装;除了使用的API,STL内部和main函数的定义之外,不会涉及指针。