Я не знаю, как работает std :: string (i, '*')
Проверьте документацию для конструктора std::string(count, ch)
на этом сайте . Я нахожу документацию на C ++ трудной для чтения, поэтому она говорит об этом конструкторе:
basic_string( size_type count,
CharT ch,
const Allocator& alloc = Allocator() );
Constructs the string with "count" copies of character "ch".
Так что это означает, что вы передаете ему одно число n
и один символ c
, и оно будет вернуть строку с n
копиями c
. Поэтому, если вы позвоните std::string(4, 'A')
, он вернет AAAA
.
, если я напишу только std :: cout << std :: string (i, '*') << std :: endl ; затем ничего не получая в выводе. </p>
Я не совсем понимаю, какое изменение вы сделали в программе, чтобы не получить никакого вывода, так как только std::cout << std::string(i, '*') << std::endl;
внутри l oop все равно должно что-то печатать ,
Проверьте документы для std::left
, которые имеют хороший пример, который использует std::fill
и std::setw
тоже.