умные указатели — C ++ Как использовать string :: functions для smartpointer & lt; string & gt;

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

int var = sharedPtrStringVar.length();

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

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

спасибо вам Yksisarvinen это было точно, что я хотел kinow

-1

Решение

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

int var = sharedPtrStringVar->length();

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

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]