c/c++语言开发共享这个’ – >’在c / objective-c中意味着什么?

我正在查看一些代码,我遇到了一些我不知道其含义的语法。 ‘ – >’是什么意思?

-(void) getTransformValues:(struct transformValues_*) tv { tv->pos = positionInPixels_; tv->scale.x = scaleX_; tv->scale.y = scaleY_; tv->rotation = rotation_; tv->skew.x = skewX_; tv->skew.y = skewY_; tv->ap = anchorPointInPixels_; tv->visible = visible_; } 

    箭头操作符(’ – >’)用在与使用点运算符(’。’)相同的位置,但是使用指向结构的指针而不是该结构的对象。

     typedef struct _Person { char name[200]; unsigned int age; } Person; 

    如果您创建了该结构的对象,则可以使用点运算符来访问其成员:

     int main() { Person p1; strcpy( p1.name, "Baltasar" ); p1.age = 36; } 

    但是,如果您是指向结构的指针,而不是结构本身,则只能使用箭头运算符或更复杂的点运算符:

     int main() { Person p1; Person *ptrPerson = &p1; // ptrPerson points to p1 strcpy( ptrPerson->name, "Baltasar" ); ptrPerson->age = 36; } 

    如上所述,您仍然可以使用点运算符:

      int main() { Person p1; Person *ptrPerson = &p1; // ptrPerson points to p1 strcpy( (*ptrPerson).name, "Baltasar" ); (*ptrPerson).age = 36; } 

    当然,所有这些讨论都涉及更多主题,例如指针,堆等。希望这会有所帮助。

    ->符号用于访问指针类型的成员。 它与解除引用指针和使用点运算符相同,即

     (*tv).pos = positionInPixels_; 

    它用于访问变量指向的对象/结构的成员。

    例如, tv->pos用于从tv指向的对象访问成员变量pos

    ->用于表示与点相同的东西(表示访问结构,类或联合的成员),除了在变量是指针时使用->

    “ – >”用于访问结构指针元素。 在C至少……

     typedef struct test { int one; int two; } t_test; t_test *foo; /* Allocation and all the stuff */ foo->one = ... foo->two = ... 

    箭头运算符( – >)采用结构指针(在这种情况下为transformValues_),取消引用它,然后访问该成员变量。 IE:这些是公平的:

      (* tv).pos === tv->pos 

    嗯,你至少考虑过在发布之前试图找出来吗? 这是我从搜索运营商那里得到的……

      以上就是c/c++开发分享这个’ – >’在c / objective-c中意味着什么?相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/c-cdevelopment/518811.html

      (0)
      上一篇 2020年12月5日
      下一篇 2020年12月5日

      精彩推荐