1
#include <cctype>                   // Character testing and conversion  
using std::cin;
using std::cout;
using std::endl;

int main() {
  char letter = 0;                  // Store input in here  

  cout << endl
       << "Enter a letter: ";       // Prompt for the input  
  cin >> letter;                    // then read a character  


  if(std::isupper(letter)) {             // Test for uppercase letter  
    cout << "You entered a capital letter."
         << endl;
    cout << "Converting to lowercase we get "
         << static_cast<char>(std::tolower(letter)) << endl;
    return 0;
  }

  if(std::islower(letter)) {             // Test for lowercase letter  
    cout << "You entered a small letter."
         << endl;
    cout << "Converting to uppercase we get "
         << static_cast<char>(std::toupper(letter)) << endl;
    return 0;
  }
  cout << "You did not enter a letter." << endl;
  return 0;
}

if(std::isupper(letter)) {在这个例子中,使用 'std::'和不使用 'std::'有什么区别if(isupper(letter)) {

我尝试了两者,它们返回相同的结果,所以我不确定使用 'std::' 有什么好处

4

1 回答 1

0

发布 namezero 用户评论:

如果没有 std::,您将从当前范围调用名为 isupper() 的函数,如果没有,则从全局命名空间 (::isupper()) 调用。写 std::isupper() 引用命名空间 std 中的函数名 isupper()

于 2014-06-05T07:06:11.187 回答