Почему пропуск «#include <string>» только иногда приводит к ошибкам компиляции?

Я начинающий с C ++. Когда я пишу код иногда я пишу#include <string>&nbsp;и код работает, в других случаях я не пишу#include <string>&nbsp;и код не работает. Но иногда это работает без#include <string>.

Так я должен написать#include <string>&nbsp;чтобы код работал?