C ++ / Qt中变量的别名?

时间:2013-08-08 08:23:03

标签: c++ qt variables pointers alias

有没有办法在Qt中创建UI变量的别名?

此var

  

UI-> combobox-> CURRENTINDEX()

成为例如

  

索引

所以无论何时在我的代码中,我都会调用 index ,即使她在两次调用期间发生了变化,我也会得到 ui-> gtobobox-> currentIndex()的值。 / p>

我尝试了这个但是我总是得到相同的值,即初始化期间的值。

  

int * index = 0;
  index =(int *)ui-> combobox-> currentIndex()//这次等于-1;
  (INT)索引; //总是返回-1   但是,如果我执行ui-> combobox-> currentIndex()则返回0;

目标是缩短非常长的陈述的长度 谢谢:))

2 个答案:

答案 0 :(得分:7)

可能最好的方法是添加一个返回当前索引的内联函数:

inline int MainWindow::myIndex() const
{
  return ui->combobox->currentIndex();
}

然后,只要您需要值,就可以致电myIndex()

或者只是在您使用它的语句之前分配一个局部变量:

int const index = ui->combobox->currentIndex();

答案 1 :(得分:0)

您想使用预处理器宏#define

#define <alias> <replacement>

是您使用的格式,然后在编译时,编译器会替换别名的所有实例。

http://www.cplusplus.com/doc/tutorial/preprocessor/