Это будет зависеть.Вот моя интерпретация вашего вопроса:
Вы пытаетесь присвоить разные строки каждой строке.И идентичные строки из разных источников будут иметь разные идентификаторы.
Случай 1:
Если str
окажется буфером многократного использования, который вы используете для чтения этих строк откуда угодно.Тогда у них у всех будет один и тот же базовый адрес.Так что нет, не будет уникальным.
Случай 2:
str
оказывается строкой, выделенной для кучи.Кроме того, все строки, которые будут идентифицированы, имеют перекрывающиеся времена жизни.Тогда да, идентификаторы будут уникальными, поскольку все они одновременно находятся в памяти по разным адресам.
РЕДАКТИРОВАТЬ:
Если вы хотите сгенерировать уникальный идентификатор, но вы хотите идентичные строкичтобы иметь тот же идентификатор, затем посмотрите на ответ Грега для хэш-функции.