【发布时间】:2011-12-29 12:28:20
【问题描述】:
可能重复:
What are the barriers to understanding pointers and what can be done to overcome them?
What is a smart pointer and when should I use one?
我正在学习 C++,但我在学习指针时遇到了很多困难,所以我到处使用它们来进行一些实验并了解如何使用它们。不,我确实了解如何使用它们的概念,但我不知道何时何地不使用它们 - 我很惊讶许多在线网站和书籍未能涵盖如此重要的内容。
谁能像外行一样给我一个关于何时以及为什么使用指针的想法。 2. 智能指针何时优于普通指针。
注意:不过,我确实知道并理解堆栈和堆分配的事情。
感谢您的帮助。
【问题讨论】:
-
指针是出了名的难以学习和理解 - 尽管链接的问题可能无法回答您对指针特别是智能指针的所有问题,但是您的问题也非常广泛并且很可能是反正关门了。我建议您先阅读该问题,然后再回来询问您仍有关于指针的任何具体问题。
-
如果您是 C++ 新手,则根本不应该使用任何原始指针。我敢肯定,您可能尝试的任何初学者项目都可以以更好、更简洁的方式编写,无需指针或
new。 -
可能重复的第一个链接没有回答我的问题。我想要的有点像一个使用指针的情况列表,在哪些情况下使用指针是一个好主意,而在哪些情况下它毫无意义——所说的答案只解释了它们是如何工作的(尽管我必须说这是一个很好的解释)。跨度>
标签: c++ pointers smart-pointers