我目前在QT工作,最近我注意到一些让我真正困惑的事情。据我所知,通常情况下,当我们想要创建指针时,我们必须使用C++中的以下语法:
int number = 10;
int* pNumber = &number;
(或类似的东西)
我想创建一个指向在QT设计中创建的按钮的指针。这只是为了测试的目的。(我是QT和C++的新手,所以我想测试一下)
但后来我注意到一些奇怪的事情,我无法理解。由于某种原因,当我创建名为“Button”的“opushButton”类型的指针时,我不必在“(*UI).PushButton_5”语法中使用“&”。(pushButton_5是我的ui中我的按钮的名称)
代码工作了,文本“5”被添加到我的qt中的“lineedit”中。这是怎么工作的?我是不是漏了点什么?
下面是我的代码:
MainWindow.cpp:
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QPushButton* button = (*ui).pushButton_5;
ui->lineEdit->setText((*button).text());
}
MainWindow::~MainWindow()
{
delete ui;
}
MainWindow.h:
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
&
不是创建指针的方法,而是获取指向您可以访问的特定事物的指针的方法。
如果别人告诉您一个东西在哪里,您就不需要&
的帮助来找出。
void g(int* q)
{
int* p = q; // 'q' is the location of some unknown 'int', and so is `p`.
}
如果您有一个东西并且想知道那个东西在哪里,您需要&
。
void f()
{
int x = 5;
int* p = &x; // The location of 'x'.
g(&x); // Pass the location of 'x' to 'g'.
}
此外,我们通常编写x->y
而不是(*x).y
。
如果您查看多个间接级别,则此约定很有意义-将x->y->z->w
与(*(*x).y).z).w
进行比较。
指针不是存放首地址吗,怎么不一样呢
本文向大家介绍举例理解C语言二维数组的指针指向问题,包括了举例理解C语言二维数组的指针指向问题的使用技巧和注意事项,需要的朋友参考一下 之前对数组的概念一直没有理解透彻,只觉得数组名就是个常量指针而已,用法和基本的指针差不多。所以当我尝试用二级指针去访问二维数组时,就经常会出错。下面就是刚开始写的一个错误的程序: 开始的时候我是这样分析的:本来数组和指针就差不多,一维数组和一维指针对应,那么
我需要移动我的鼠标指针。我用的是硒和c。 MoveByOffset和MoveToElement都在执行右键单击,但鼠标指针没有移动。
我有关于如何修改指针的问题,使用类类型元素的对象的前一个和下一个实例变量。双向链表由具有lastName、firstName、phoneNumber、前一个和下一个实例变量的Element对象填充。RemveElement方法接受lastName作为参数,并找到具有该确切String的元素,然后将其从列表中删除。然而,当修改应该从列表中删除元素的指针时,我遇到了一个异常。具体来说,在这段代码中:
问题内容: 我是Java菜鸟。我已经掌握了将C / C ++指针转换为Java引用的概念,并且进展相当顺利。 我打了一段有指针的代码(即* ptr)。我需要取消引用指针并更改其指向的指针的值(即 ptr =&newthing;) 在Java中这似乎要困难得多。是否有人对如何解决此问题有任何想法?快速谷歌搜索什么都没有。 这是C ++中的代码示例。我想在Java中获得类似的工作,但是ptr_to_p
本文向大家介绍请你理解的c++中的引用和指针?相关面试题,主要包含被问及请你理解的c++中的引用和指针?时的应答技巧和注意事项,需要的朋友参考一下 定义: 1、引用: C++是C语言的继承,它可进行过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。引用就是C++对C语言的重要扩充。引用就是某一变量的一个别名,对引用的操作与对变量直