Почему выводится 3 false?

При запуске выдает: false, false false, должно: true, true, false

#include <iostream>

// Define is_palindrome() here:
bool is_palindrome(std::string text) {
  std::string palindrom_text = "";

  for (int i = text.size(); i >= 0; i--) {
    palindrom_text = palindrom_text + text[i];
  }

  // madam madam
  // ada ada
  // ecalevol lovelace

  return palindrom_text == text ? true : false;
}

int main() {
  std::cout << std::boolalpha << is_palindrome("madam") << "\n";
  std::cout << std::boolalpha << is_palindrome("ada") << "\n";
  std::cout << std::boolalpha << is_palindrome("lovelace") << "\n";
}

Ответы (0 шт):