为什么c ++允许指针,如果它们可以产生访问私有成员等问题?

ded*_*man -5 c++ oop pointers private

我已经阅读了有关c ++指针及其缺陷的内容,其中之一是可以使用此处此处提到的指针黑客访问其他类对象的私有数据成员.当然,c ++中的指针为语言提供了很大的灵活性,但如果它能阻碍数据隐藏等语言的核心OOP功能,它的用途是什么?这真的是安全性灵活性之间的权衡吗?

Yak*_*ont 6

C++首先是一种低级语言,它使用更高级的语言结构扩展了传统的C语言.除了少数例外,没有删除任何内容.

C++不仅仅是一种OO语言.它是功能性的,声明性的,程序性的,结构化的面向对象的.它甚至可以用作便携式汇编程序,就像C一样.

指针是CPU访问内存的简单抽象.能够访问原始指针in-language可以实现大量高效的代码.每种系统编程语言都允许访问原始指针; 有时被"不安全"的街区所保护; 和C++也是一种系统编程语言.

如果你从单一的角度来看C++,并想知道为什么它看起来很奇怪你的目标,尝试从另一个方向看它.