rzjy123 2021-12-15 00:10 采纳率: 85.7%
浏览 74
已结题

例如, 对于基本类型, cin 使用引用, 因此可以使用cin>>n, 而不是cin >> &n。这话什么意思

c++pp中的一段话,完全理解不了,这书里很多话都理解不了,没头没脑的,英文版也看不出来什么意思

对于修改调用函数中数据的函数。

如果数据对象是内置数据类型,则使用指针。如果看到诸如fixit(&x)这样的代码(其中x是int),则很明显,改函数修改x。

如果数据对象是数组,则只能使用指针。

如果数据对象是结构,则使用引用或指针。

如果数据对象是类对象,则使用引用

当然,这只是一些指导原则,很可能有充分的理由作出其他选择。例如,对于基本类型,cin使用引用,因此可以使用cin>>n, 而不是cin >> &n

  • 写回答

3条回答 默认 最新

  • 关注

    也就是说
    int n;//(1)
    cin >> n; //(2)
    这个代码中,>>操作符的操作对象n是一个引用,所以,在(2)给n赋值以后,(1)中的n的值也随之改变。(这里涉及到>>运算符的重载,输入输出流的>>运算符 函数是引用,大体上类似于 fstream operater >> (int &n) { } )


    在C++里,如果需要通过函数来改变变量的值,可以使用引用,也可以使用指针。这就是你的正文里那些话的意思。以swap函数为例,
    使用引用来实现交换:

    oid swap(int &a,int &b)
    {
        int t = a;
        a=b;
        b = t;
    }
    
    

    使用指针来实现交换:

    void swap(int *a,int* b)
    {
        int t;
        t = *a;
        *a = *b;
        *b = t;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月23日
  • 已采纳回答 12月15日
  • 创建了问题 12月15日

悬赏问题

  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器