Чтобы избежать ненужных переменных, есть ли способ сделать
int var = sharedPtrStringVar.length();
и другие функции String работают с умными указателями?
До сих пор я копировал строку из указателя во временную переменную, но нет ли лучшего способа (без использования векторов)?
спасибо вам Yksisarvinen это было точно, что я хотел kinow
Аналогично необработанному указателю, вы используете ->
оператор для доступа к членам объекта, поэтому ваш код будет
int var = sharedPtrStringVar->length();
То же относится и к оператору разыменования *
:
int var = (*sharedPtrStringVar).length();
std::cout << *sharedPtrStringVar; //print the content
Других решений пока нет …