这两者有什么区别?

时间:2013-09-29 00:27:39

标签: c++

#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;
}

在此示例中,使用'std ::'if(std::isupper(letter)) {而不使用'std ::'if(isupper(letter)) {有什么区别?

我试过了两次,他们返回了相同的结果,所以我不确定使用'std ::'

的好处是什么

1 个答案:

答案 0 :(得分:0)

发布namezero用户评论:

没有std ::的

,你将从当前作用域中调用名为isupper()的函数,如果没有,则从全局名称空间(:: isupper())调用。编写std :: isupper()引用命名空间std中的函数名isupper()