zoukankan      html  css  js  c++  java
  • 2020-09-26:请问rust中的&和c++中的&有哪些区别?

    福哥答案2020-09-26:#福大大架构师每日一题#

    变量定义:c++是别名。rust是指针。
    取地址和按位与,c++和rust是相同的。

    c++测试代码如下:

    #include <iostream>
    struct Point {
        int x;
        int y;
    };
    
    int main()
    {
        Point p1 = { 25,25 };
        printf("p1.x address:%d
    ", &p1.x);
        printf("p1 address:%d
    ", &p1);
        Point& p2 = p1;
        printf("p2.x address:%d
    ", &p2.x);
        printf("p2 address:%d
    ", &p2);
        printf("p1和p2地址相同,说明p2起到了别名的作用。p2.x和p2地址相同,说明p2保存的是内容,而不是地址。
    ");
        std::system("pause");
        return 0;
    }
    

      

    运行结果如下:


    rust测试代码如下:

    struct Point {
        x: i64,
        y: i64,
    }
    
    fn main() {
        let p1 = Point { x: 25, y: 25 };
        println!("p1.x address: {:p}", &p1.x);
        println!("p1 address: {:p}", &p1);
        let p2: &Point = &p1;
        println!("p2.x address: {:p}", &p2.x);
        println!("p2 address: {:p}", &p2);
        println!("p1和p2地址不同,说明p2不是p1的别名。p2.x和p2地址不同,说明p2是指针。");
    }
    

      

    运行结果如下:


    ***
    [评论](https://user.qzone.qq.com/3182319461/blog/1601075072)

  • 相关阅读:
    jquery 异常
    easyui datagrid 单击行不选择行
    java 简单实现上传 | commons-fileupload
    abator ibatis 构建过程
    mysql 杂笔
    eclipse杂笔
    maven 构建项目
    ubuntu随笔
    powershell:convert-path
    maven学习笔记1
  • 原文地址:https://www.cnblogs.com/waitmoon/p/13735979.html
Copyright © 2011-2022 走看看