Как вы умножаете QString, чтобы он повторялся n раз?

Мне нужно, чтобы моя строка повторялась n раз, примерно так:

QString s("Dog");
qDebug() << s * 3;
"DogDogDog"

Я знаю, что вы можете сделать это с одним charДа, но я не могу понять, как это сделать со строками, не прибегая к созданию цикла for, например:

https://paste.fedoraproject.org/300131/94336814/

Есть какие-нибудь ярлыки?

1 ответ

Решение

QString просто нет такого оператора (см. документацию), поэтому вы не можете использовать operator* сделать это.

Тем не мение, QString имеет интересный метод, называемый повторяется.
Я цитирую документацию, которая является довольно исчерпывающей:

Возвращает копию этой строки, повторенную указанное количество раз.

Если времена меньше 1, возвращается пустая строка.

Далее следует пример, еще раз из официальной документации:

QString str("ab");
str.repeated(4); // returns "abababab"

Я полагаю, что это решит вашу проблему, и, кажется, это более лаконичное решение.

Другие вопросы по тегам