Следующий код работает, как ожидалось т.е. печатает строку в обратномC++ строка size_t
std::string s("abcd");
for (int i=s.length()-1; i>=0; --i) {
std::cout << s[i];
}
Однако, следующий код переходит в бесконечные символы полиграфических петли бросовых и, наконец, crashes-
std::string s("abcd");
for (std::size_t i=s.length()-1; i>=0; --i) {
std::cout << s[i];
}
Зачем использовать size_t
как тип i
сбой программы?
Am с помощью г ++ поставляется с MinGW на Windows,
C:/MinGW/bin/g++ --version
g++ (GCC) 6.1.0
GCC может [предупредить] (http://coliru.stacked-crooked.com/a/ce861d53b647251b) вам об этом: * предупреждение : сравнение беззнакового выражения> = 0 всегда истинно [-Wtype-limits] * – chris