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 に答える