这句话是什么意思? “好的C编程通常不会以复杂的方式使用指针.”

this other question的获奖答案中我读到:

… good C++ programming typically
doesn’t use pointers in complicated
ways.

不以复杂的方式使用指针意味着什么?

(我真的希望这不是一个主观的问题)

最佳答案
作为写这篇文章的人,我至少可以告诉你我的意思.

在一个很好的C程序中,在我熟悉的各种类型中,指针用于指示对象,主要是因为它们可以被传递并以多态方式使用.它们不习惯通过引用传递,因为这是引用的内容.没有指针算术.原始指针并不多.指针通常不用于构建数据结构,因为您需要的大多数数据结构都内置在标准库中,或者可能是Boost.

换句话说,现代C通常以与Java相同的方式使用指针,除了Java不使用该单词,因为它没有除了指针之外可访问的原始数据类型之外的其他东西的概念(至少在我上次使用时不是这样)使用Java).翻译来自Foo bar = new Foo(); (语法无法保证)到smart_ptr< Foo> bar = new Foo;从bar.snarf()到bar-> snarf().至少要开始,Java程序员不需要像他或她移动到C那样接受概念.

转载注明原文:这句话是什么意思? “好的C编程通常不会以复杂的方式使用指针.” - 代码日志