Как лучше писать так:
auto it = labels_map["Level"] = new QLabel();
it->setText("Уровень: " + QString::number(player->get_level()));
grid_layout->addWidget(it,0,0);
it = labels_map["Exp"] = new QLabel();
it->setText("Опыт: " + QString::number(player->get_xp()) + "/" +
QString::number(player->get_xp_for_next_lvl()));
grid_layout->addWidget(it,1,0);
или так:
labels_map["Level"] = new QLabel();
labels_map["Level"]->setText("Уровень: " + QString::number(player-
>get_level()));
grid_layout->addWidget(labels_map["Level"],0,0);
labels_map["Exp"] = new QLabel();
labels_map["Exp"]->setText("Опыт: " + QString::number(player->get_xp()) +
"/" + QString::number(player->get_xp_for_next_lvl()));
grid_layout->addWidget(labels_map["Exp"],1,0);
или разницы особой нет и можно писать как мне удобнее?
Каждый раз когда вы используете оператор [] происходит поиск элемента в контейнере. Его сложность для QMap O(log n). На вашем месте я бы писал так:
QLabel *label = new QLabel();
label ->setText("Text");
layout->addWidget(label, 0, 0);
QMap["Level"] = label;
С остальными оценками сложности можете ознакомиться здесь
Продвижение своими сайтами как стратегия роста и независимости