Форум программистов, компьютерный форум CyberForum.ru

использование класса string.объясните плз - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Волновой алгоритм (алгоритм Ли) http://www.cyberforum.ru/cpp-beginners/thread127275.html
Здравствуйте! У кого-нибудь есть реализованный волновой алгоритм (алгоритм Ли) ? Дело в том, что я игрушку захотел написать (что-то вроде Пакмэна), и мне бы этот алгоритм очень сильно помог. Добавлено через 2 часа 19 минут Наконец-то нашёл хороший, красивый и работающий алгоритм! Причём он находит путь быстрее волнового! (потому что рекурсивный :p) Вот он (может быть, пригодится...
C++ Как к строке добавить число? Как к строке char добавить число int и символ char? Чтобы в конце появился терминальный ноль... http://www.cyberforum.ru/cpp-beginners/thread127271.html
C++ Утечка памяти
Доброго времени суток! Столкнулся с проблемой утечки памяти! Будь у меня маленькая программка, выловил бы легко, но в 2000 строк кода все не так просто(((... Долго гуглил, нашел 2 варианта решения проблем, или с помощью левого софта на изучение которого с моим английским(( уйдет многовато времени, или перегружать функции new и delete, на написание коих уйдет время, а до завтра мне необходимо уже...
C++ в одномерном массиве, состоящем из n вещественных элементов, вычислить:
1) сумму элементов массива с нечетными номерами; 2) сумму элементов массива, расположенных между первым и последним отрицательными элементами. Сжать массив, удалив из него все элементы, модуль которых не превышает 1. Освободившиеся в конце массива элементы заполнить нулями.
C++ Вычислить элементы последовательности http://www.cyberforum.ru/cpp-beginners/thread127231.html
Вычислить и отпечатать n элементов последовательности 1^2/ (1^2 +2), 2^2 / (2^2+3), 3^2 / (3^2 +4), … , сумма которых не превышает 10.
C++ Нити и процессы Посоветуйте хорошую книгу по процессам и нитям, мьютексам и семафорам. Мне предложили книгу А. П. Побегайло - Системное программирование в Windows. Как считаете хорошая книга??? подробнее

Показать сообщение отдельно
FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
10.05.2010, 22:06     использование класса string.объясните плз
Как то не очень дружелюбно.
Ну,что ж приношу свои извинения сударь, если я потеребил Вашу детскую психику
Впредь буду более толерантен, и обходителен

В моем куске как я понял был использован второй вариант, т.е. в качестве параметров я передал
диапазон символов, ограниченный _First0 и _Last0 , _Num2 копиями символа _Ch.
Как раз наоборот первый вариант т.к. x и x+1 - выражения целочисленного типа, а не итераторы
Давайте будем разбираться вместе:
Есть функция член шаблонного класса basic_string
C++
1
2
3
4
5
6
basic_string& replace(
   size_type _Pos1, 
   size_type _Num1,
   size_type _Count, 
   value_type _Ch
);
Эта фукнкция, заменяет до _Num1 символов вызывающей строки начиная с позиции _Pos1, _Сount копиями символа _Ch.
Три первых аргумента её имеют тип size_type, который является разновидностью целочисленого типа size_t

Так как, при вызове replace() Вы в качестве, как минимум 2х первых, аргументов передавали результат выполнения функции Find(),которая, в свою очедедь, возвращает именно size_type, из этого и можно зделать вывод, что был использован первый из двух, приведенных Вами вариантов метода replace().

По поводу второй перегрузки
C++
1
2
3
4
5
6
basic_string& replace(
   iterator _First0, 
   iterator _Last0,
   size_type _Num2, 
   value_type _Ch
);
Эта функция заменяет диапазон символов, ограниченный итераторами _First0 и _Last0, _Num2 копиями символа _Ch.
Итераторы (iterators) — это объекты, которые по отношению к контейнерам
играют роль указателей. Они позволяют получать доступ к содержимому контейнера примерно так же, как указатели используются для доступа к элементам массива.
В Вашей проге итераторы, насколько я понял, не использовались.

Ну, вобщем ход своих мыслей, надеюсь, я Вам объяснил
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru