Если есть расширения, можно и так, хотя лучше пользоваться стандартными средствами, тем более что copy_n не даёт ничего, кроме нескольких сэкономленных символов кода
"To protect people you must slay people. To let people live you must let people die. This is the true teaching of the sword."
-Seijuro Hiko, "Rurouni Kensin"
Re[2]: Копирование строк
От:
Аноним
Дата:
12.02.07 12:27
Оценка:
Здравствуйте, Zigmar, Вы писали:
А>>надо скопироваь в str1 первые 3 символа Z>
Z>std::string str = "a";// я слегка изменил Ваш пример. Ой, что произойдет :shuffle:
Z>std::string str1;
Z>std::copy(str.begin(),str.begin()+3,std::back_inserter(str1));
Z>
"To protect people you must slay people. To let people live you must let people die. This is the true teaching of the sword."
-Seijuro Hiko, "Rurouni Kensin"
C>Ничего не изменилось. max(3, string("a").size()) по-прежнему равен 3. Здесь нужно брать min.
Глюк. Конечно имелось ввиду min.
"To protect people you must slay people. To let people live you must let people die. This is the true teaching of the sword."
-Seijuro Hiko, "Rurouni Kensin"
Здравствуйте, alion, Вы писали:
К>>// или присваивай
A>Насколько помню из Страуструпа, в этом случае будет создаваться новый объект, а потом уже копироваться в str1
Естественно. Поэтому и предлагаю сразу конструировать str1 с нужными аргументами.