fix: optimization: PVS-Studio warning V831

Replaced 'at()' method with 'operator[]' to improve performance.

The 'at()' method performs bounds checking, which can introduce overhead. Using 'operator[]' bypasses this check and can improve performance when you are certain that the index is within bounds.

Reported by: PVS-Studio
Signed-off-by: Vyacheslav Ivanov <islavaivanov76@gmail.com>
This commit is contained in:
Vyacheslav Ivanov
2024-08-02 02:38:54 +03:00
committed by Pugemon
parent 1bdc9cf759
commit f3f872c7a3
6 changed files with 8 additions and 8 deletions
+2 -2
View File
@@ -145,7 +145,7 @@ uint Label::getLineByYOffset(int offset) const {
uint Label::getLineByTextIndex(size_t index) const {
for (size_t i = 0; i < cache.lines.size(); i++) {
if (cache.lines.at(i).offset > index) {
if (cache.lines[i].offset > index) {
return i-1;
}
}
@@ -195,7 +195,7 @@ void Label::draw(const DrawContext* pctx, Assets* assets) {
if (multiline) {
for (size_t i = 0; i < cache.lines.size(); i++) {
auto& line = cache.lines.at(i);
auto& line = cache.lines[i];
size_t offset = line.offset;
std::wstring_view view(text.c_str()+offset, text.length()-offset);
if (i < cache.lines.size()-1) {
+1 -1
View File
@@ -286,7 +286,7 @@ static std::shared_ptr<UINode> readButton(UiXmlReader& reader, const xml::xmlele
std::shared_ptr<Button> button;
auto& elements = element->getElements();
if (!elements.empty() && elements.at(0)->getTag() != "#") {
if (!elements.empty() && elements[0]->getTag() != "#") {
auto inner = reader.readUINode(element->getElements().at(0));
if (inner != nullptr) {
button = std::make_shared<Button>(inner, padding);