Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
 Аватар для Джон Кофи
266 / 81 / 18
Регистрация: 05.04.2018
Сообщений: 1,102
Записей в блоге: 1

Вызов метода для string, переданного по указателю в функцию

16.11.2018, 16:04. Показов 2050. Ответов 2

Студворк — интернет-сервис помощи студентам
Привет. Почему в 3 строке мне нельзя вызвать .length()? Сам компилятор после точки выводит список доступных функций.
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool polindrom(string *str)
{
    int middle = str.length() / 2;
    
    for(auto i = 0; i < middle; ++i)
    {
        if(str[i] != str[i + middle]) {
            return false;
        }
    }
    return true;
}
Добавлено через 8 минут
код поменял для решения полиндрома (не знаю правильный ли он), но суть не меняется. Вызов функций для переменной string - ошибка.
C++
1
2
3
4
5
6
7
8
9
10
11
12
bool polindrom(string *str)
{
    int middle = str.length() / 2;
    
    for(auto i = middle; i >= 0; --i)
    {
        if(str[i] != str[str.length() - i]) {
            return false;
        }
    }
    return true;
}
Добавлено через 12 минут
передал в функцию строку не по указателю, а по сслылке и все стало нормально. Только не пойму почему
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.11.2018, 16:04
Ответы с готовыми решениями:

Вызов нужного метода WebAPI-контроллера в зависимости от переданного параметра
Доброго времени суток, уважаемые форумчане. Имеется контроллер WebAPI под названием EmployeeController, в нем пара GET-методов. Получение...

Вызов динамического метода класса по указателю на объект класса
Как это можно сделать? И хотелось бы как можно проще.

Определить функцию, которая для каждого элемента переданного ей массива вычисляет функцию
Текст задания: Определить функцию, которая для каждого элемента переданного ей массива вычисляет функцию, определенную в 1 задании...

2
 Аватар для Drodoz
33 / 21 / 13
Регистрация: 31.10.2018
Сообщений: 51
16.11.2018, 16:08
Лучший ответ Сообщение было отмечено Джон Кофи как решение

Решение

Вы передаете в функцию не строку, а указатель на нее. Чтобы обратиться к методам через указатель, надо воспользоваться оператором ->
C++
1
str->length()
1
 Аватар для Джон Кофи
266 / 81 / 18
Регистрация: 05.04.2018
Сообщений: 1,102
Записей в блоге: 1
16.11.2018, 16:11  [ТС]
Drodoz, крутяк! спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.11.2018, 16:11
Помогаю со студенческими работами здесь

Определить функцию, которая для каждого элемента переданного ей массива вычисляет функцию
Необходимо определить функцию, которая для каждого переданного ей элемента массива вычисляет функцию и записывает в другой массив. Должна...

Вызов метода по наименованию, которое берется из String
Доброго времени суток! Подскажите, пожалуйста, возможно ли реализовать следущее и как: Ситуация: Вводим в консоль слово,...

Преобразовать вызов метода класса с параметром в функцию с двумя параметрами
Можно ли при помощи адаптеров преобразовать выражение типа x-&gt;Func(y) в выражение Func(x,y)? Нужно для использования в list.sort()....

Написать функцию - аналог метода String.replace()
Хотел написать програмку, которая работает как метод replace. var string = &quot;12-34-56&quot;; function returnIndex(item, char){ ...

Полиморфизм: вызов метода базового класса, переопределенного метода и нового метода
В базовом классе метод помечен как virtual. Насколько я понял из книги: override означает, что метод не утрачивает связи с базовым...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru