stringstream — преобразует пользовательский тип в std :: string в переполнении стека

Если у меня есть пользовательский тип, такой как:

 typedef std::string GenderType;
GenderType gender;

можно ли установить gender равно std::string переменная?

 std::string temp;
temp = gender;

Нужно ли извлекать std::string как-то из GenderType? Это безопаснее сделать с помощью stringstream?

0

Решение

С typedef Вы определяете псевдоним типа, то есть эти два типа идентичны. Нет никакого способа различить эти два типа. Вы можете использовать один, где вы можете использовать другой.

Так

GenderType gender;
std::string temp;
temp = gender;

такой же как

std::string gender, temp;
temp = gender;

С псевдонимами типов вы не можете добавить безопасность типов.

0

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


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