c++ - 为什么有些语言不允许声明指针?

标签 c++ pointers

我现在正在使用 C++ 编程,我喜欢使用指针。但似乎其他较新的语言(如 Java、C# 和 Python)不允许您显式声明指针。换句话说,你不能同时写 int xint * y,而 x 是一个值,而 y 是一个指针,在任何这些语言中。这背后的原因是什么?

最佳答案

指针还不错,只是很容易出错。在较新的语言中,他们已经找到了做同样事情的方法,但射中自己脚的风险较小。

虽然指针没有错。去爱他们吧。

对于您的示例,您为什么希望 x 和 y 都指向同一个内存?为什么不总是称它为 x?

还有一点,指针意味着您必须自己管理内存生命周期。较新的语言更喜欢使用垃圾回收来管理内存,并且允许使用指针会使这项任务变得非常困难。

关于c++ - 为什么有些语言不允许声明指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4074935/

相关文章:

c++ - 如何使用冒泡排序对链表进行排序?

c++ - cout 覆盖了我的一些指针

c++ - 如何在参数非常量中传递 const 指针

c++ - 当我实现功能时 Sprite 变成白框

C++ fstream 删除选定点的文件内容

c++ - proto c++ 实现 - "marked ‘override’,但不会覆盖“错误

C++ : Assign normal return value to a pointer

c++ - 如果地址已知,如何获取指针变量的名称?

c++ - 满足 std::ranges::range 概念

C++/ASM - "Operand size conflict"、 "Improper operand type"