Как получить символ по определенному индексу строки, используя указатели? - PullRequest
0 голосов
/ 10 мая 2018

Я пытаюсь создать функцию, которая выполняет некоторые операции со строками. Насколько я понимаю, строки являются символьными массивами. Итак, написав:

cout << name[0];

мы печатаем первый символ, записанный в предполагаемой строке с именем 'name'.

В моей функции я должен использовать указатели для выполнения всех функций. Мой текущий подход заключается в создании указателя:

string *str=&name;

но когда я пытаюсь напечатать символ с указанным индексом, написав:

cout << *str[0];

Он не компилируется, я не уверен, в чем проблема. Одним из решений было бы создание динамического массива символов, но я хотел знать, возможно ли получить символ по определенным индексам строк, используя указатели?

1 Ответ

0 голосов
/ 10 мая 2018

operator[] имеет более высокий приоритет , чем operator*, поэтому *str[0] совпадает с *(str[0]).str[0] возвращает char, и почтение к char не имеет смысла ..

Измените его на (*str)[0].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...