C ++ Как использовать string :: functions на smartpointer <string> - PullRequest
0 голосов
/ 09 мая 2018

Чтобы избежать ненужных переменных, есть ли способ сделать

int var = sharedPtrStringVar.length();

и другие функции работы с умными указателями в String?

До сих пор я копировал строку из указателя во временную переменную, но нет ли лучшего способа (без использования векторов)?

спасибо тебе, Иксисарвинен, это было именно то, что я хотел, чтобы кинув

1 Ответ

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

Подобно необработанному указателю, вы используете оператор -> для доступа к членам объекта, поэтому ваш код будет

int var = sharedPtrStringVar->length();

То же самое относится к оператору разыменования *:

int var = (*sharedPtrStringVar).length();
std::cout << *sharedPtrStringVar; //print the content
...