【发布时间】:2014-10-31 13:27:15
【问题描述】:
鉴于现在大多数体面的编译器都很好地支持 C++11 标准,2014 年使用原始指针的主要原因是什么?
我确定了几个场景:
您正在扩展大量使用原始指针的遗留代码库,并且您希望保持样式的一致性。
您正在使用仅导出原始指针的库,但我想您仍然可以使用强制转换。
您希望利用指针的能力来提供多级间接。 (我不太了解 C++11,不知道这是否可以使用智能指针或其他一些技术来实现。)
您认为还有哪些其他场景适合使用指针?
你会推荐今天学习指针吗?
【问题讨论】:
-
这个问题完全没有问题。
-
相关的stackoverflow.com/q/22146094 也可能涵盖这个问题。来自 Joseph Mansfield 的回答:“第二个 [问题] 是我们什么时候应该使用指针?”
-
@FoggyDay:学习与 C 共享的 C++ 部分是个好主意,但这绝对应该使用 C++ 编译器,而不是实际的 C。C 类型系统是一个不安全的笑话。它的一部分已被修复(不再隐含
int),但部分仍然是灾难的邀请。有几个 C 功能很不错(命名为初始化程序和restrict),但它们并没有开始弥补这些问题。 -
@FoggyDay C++11 不是“怪物”。学习汇编并不是成为一名优秀程序员的必备技能,大多数(90%+)人应该没有理由学习汇编。很多人没有,他们过得很好。