在哪里声明常量结构数组
Where to declare const struct array
对于我的应用程序,我需要多常数变数,我有一个解决方案,但在我看来这不是正确的方法。
我将展示我是如何声明这一点的,并希望对此发表一些评论或反馈。
文件: 菜单.h
#include <QDialog>
...
struct s_button {
int buttonNum;
QRect geometry;
QString iconFileName;
}
namespace Ui {
class Menu;
}
class Menu : public QDialog
{
Q_OBJECT
public:
...
}
文件:菜单.cpp
#include "menu.h"
#include "ui_menu.h"
...
const s_button menuButtons[] =
{
{ 0, QRect(104,120,160,160), "VolumeUp.png" },
{ 1, QRect(104,300,160,160), "VolumeDown.png" },
{ 2, QRect(104,480,160,160), "Mute.png" }
};
...
//Constructor
Menu::Menu(QWidget *parent) :
QDialog(parent),
ui(new Ui::MenuDialog)
{
ui->setupUi(this);
....
}
void Menu::drawMenuButton()
{
uint s = sizeof(menuButtons) / sizeof(menuButtons[0]);
for(uint i=0; i<s; i++) {
drawImage(menuButtons[i].iconFileName, menuButtons[i].geometry);
}
....
}
这是正确的方法还是有其他方法可以解决这个问题?
谢谢在前进
const s_button menuButtons[] = {
{ 0, QRect(104,120,160,160), "VolumeUp.png" },
{ 1, QRect(104,300,160,160), "VolumeDown.png" },
{ 2, QRect(104,480,160,160), "Mute.png" }
};
你可以这样做,它被称为聚合成员初始化。 { 0, QRect(104,120,160,160), "VolumeUp.png" }
将按成员顺序初始化s_button
的数据成员。
相关文章:
- 从函数中全局删除并重新实例化数组结构,而无需在编译时知道数组的大小
- 如何使用函数的输出初始化 const 数组结构字段?
- 传递数组结构、ofstream 和 interger 以运行
- 从文本文件中读取并输入到数组结构中,然后显示读取的数据C++
- 将文本文件读取到数组结构中
- C/C++中数组结构和数组结构的通用接口
- C++ MDC final-在字符类型的数组结构中按字母顺序对记录中的名称进行排序
- C++ 使用数组结构创建平衡的二叉搜索树
- C++:释放动态数组(结构成员)和指向此结构的指针的方法
- 使用 vector 在 c++ 中声明 3D 数组结构
- 数组结构无法正确打印
- 如何在C++中访问数组结构内部的数组结构
- CIN进入数组结构似乎什么也没输入
- ifstream将数组结构到txt文件中,然后尽可能将其提取为数组
- wlanapi-将WlanFreeMemory释放其WLAN_INTERFACE_INFO数组结构
- 显示数组结构 c++
- C++ 使用函数访问数组结构的方法是什么?
- 将庞大的数组结构复制到 GPU
- 如何封送包含字符矩阵的数组结构
- C++多维数组结构的对齐