Qt中坐标类QPoint

QPoint::rx()和QPoint::x() const都是用于获取QPoint对象的x坐标的函数,二者的区别在于:

QPoint::x() const是一个常量成员函数,返回QPoint对象的x坐标的值,但不能对其进行修改。
int &QPoint::rx()是一个非常量成员函数,返回一个对QPoint对象的x坐标值的引用,允许对其进行修改。
换句话说,使用x()函数只能读取QPoint对象的x坐标值,不能直接修改它,需要使用其他函数如setX()等专门用于修改。而使用rx()函数可以直接获取对x坐标的引用,可以直接使用赋值符号将其修改为另一个值。

以下是一个更直观的比较:

#include <QPoint>
#include <QDebug>

int main()
{
    QPoint point(10, 20);

    int x1 = point.x();         // 此时x1的值为10
    int& x2 = point.rx();       // 获取x坐标的引用
    x2 = 30;                    // 直接修改x坐标

    qDebug() << "x1 =" << x1;   // 输出:x1 = 10
    qDebug() << "x2 =" << x2;   // 输出:x2 = 30

    return 0;
}
posted @ 2023-03-18 12:08  朱英浩  阅读(945)  评论(0编辑  收藏  举报