zoukankan      html  css  js  c++  java
  • c++中 . 和 -> 的区别是什么

    c++中 . 和 -> 的区别是什么

    一、总结

    一句话总结:

    ->主要用于类类型的指针访知问类的成员,.(点)运算符主要用于类类型的对象访问类的成员,或者结构体访问成员。
    class A
    {public :int a}
    A ma;
    A *p=&ma;
    那么指针p应使用->来访版问成员a,比如p->a,而ma应使用.来访问,比如ma.a区别就在这里,凡是指针就权使用->,对象就使用.运算符。

    二、c++中 . 和 -> 的区别是什么

    转自或参考:c++中 . 和 -> 的区别是什么?_百度知道
    https://zhidao.baidu.com/question/143290358.html

    1、回答一

    ->主要用于类类型的指针访知问类的成员,.(点)运算符主要用于类类型的对象访问类的成员,或者结构体访问成员。
    举例
    class A
    {public :int a}
    A ma;
    A *p=&ma;
    那么指针p应使用->来访版问成员a,比如p->a,而ma应使用.来访问,比如ma.a区别就在这里,凡是指针就权使用->,对象就使用.运算符。

     

    2、回答2

    c++中 . 和 -> 主要是用法上的不同。

    1、A.B则A为对象或者结构体;

    2、A->B则A为指针,->是成员百提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;

    例如:

    class student

    {

    public:       

    string name[20];

    }

    第一种情况,采用指针访问 student *xy,则访问时需要写成 *xy.name="hhhhh";等价于xy->name="hhhhh"。

    第二种情况,采用普通成员访问 student xy,则访问时需要写成 xy.name="hhhhh"。

     
  • 相关阅读:
    OpenIOC
    网站舆情监测
    乌云的背后是阳光
    2014 十大工具
    NetFlow网络流量监测技术的应用和设计(转载)
    免费工具
    Oracle RAC环境下怎样更新patch(Rolling Patch)
    Answer's Question about pointer
    cocos2d-x 3.0 final 移植 android
    ReactNavtive框架教程(3)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12961980.html
Copyright © 2011-2022 走看看