Если у меня есть пользовательский тип, такой как:
typedef std::string GenderType;
GenderType gender;
можно ли установить gender
равно std::string
переменная?
std::string temp;
temp = gender;
Нужно ли извлекать std::string
как-то из GenderType
? Это безопаснее сделать с помощью stringstream
?
С typedef
Вы определяете псевдоним типа, то есть эти два типа идентичны. Нет никакого способа различить эти два типа. Вы можете использовать один, где вы можете использовать другой.
Так
GenderType gender;
std::string temp;
temp = gender;
такой же как
std::string gender, temp;
temp = gender;
С псевдонимами типов вы не можете добавить безопасность типов.