Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/155.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么C++;让你把-&燃气轮机&引用;指针和“指针”的符号&引用;其他一切的象征? 在C++中,众所周知,当试图访问对象中的数据成员或函数时,将对象名称放在一个点之后,然后将要访问的任何对象。但如果类型是指针,则使用箭头而不是点,箭头为“->”。我知道这一点,但我想知道为什么C++的创造者会这样做。_C++_Pointers - Fatal编程技术网

为什么C++;让你把-&燃气轮机&引用;指针和“指针”的符号&引用;其他一切的象征? 在C++中,众所周知,当试图访问对象中的数据成员或函数时,将对象名称放在一个点之后,然后将要访问的任何对象。但如果类型是指针,则使用箭头而不是点,箭头为“->”。我知道这一点,但我想知道为什么C++的创造者会这样做。

为什么C++;让你把-&燃气轮机&引用;指针和“指针”的符号&引用;其他一切的象征? 在C++中,众所周知,当试图访问对象中的数据成员或函数时,将对象名称放在一个点之后,然后将要访问的任何对象。但如果类型是指针,则使用箭头而不是点,箭头为“->”。我知道这一点,但我想知道为什么C++的创造者会这样做。,c++,pointers,C++,Pointers,例如: random_object o; o.random_field; 但是,对于指针: random_object* o = new random_object(); o->random_field; 操作符是访问给定(引用)对象实例的成员的方式。它访问从对象开始的给定偏移量处的成员 当您有一个指向对象的指针时,->操作符是一个更简洁的速记。它为您解除对指针的引用,然后在一次操作中应用偏移量。否则,您将不得不手动取消对指针的引用 换句话说,o->random\u字段与(*o)完全相

例如:

random_object o;
o.random_field;
但是,对于指针:

random_object* o = new random_object();
o->random_field;

操作符是访问给定(引用)对象实例的成员的方式。它访问从对象开始的给定偏移量处的成员

当您有一个指向对象的指针时,
->
操作符是一个更简洁的速记。它为您解除对指针的引用,然后在一次操作中应用偏移量。否则,您将不得不手动取消对指针的引用


换句话说,
o->random\u字段
(*o)完全相同
o
是一个对象指针时。

因为C就是这样做的。你不必这样做,你也可以写
(*o)。random\u field
,只是不太方便如果是因为C这样做,为什么C这样做?看:你不仅可以交替写
(*o)。random\u field
,你还可以写
o[0]。random\u field
甚至
0[o]。random\u field
。。。这是来自C语言。C语言受B语言的影响,但现在很难找到关于B语言的更多信息。