1. ホーム
  2. c++

[解決済み] c++ sizeof( 文字列 )

2022-03-08 13:47:53

質問

#include <cstdlib>
#include <iostream>

int main(int argc, char *argv[])
{
   cout << "size of String " << sizeof( string );
        
   system("PAUSE");
   return EXIT_SUCCESS;
}

出力します。

文字列の大きさ = 4

ということでしょうか。 sizeof(char) = 1 Byte (0 to 255) を保持することができます。 4 文字ですか?

解決方法は?

この例では、'string' が何であるかは明らかではありません。もし、あるのなら

#include <string>
using namespace std;

では stringstd::string であり、かつ sizeof(std::string) は、文字列の長さではなく、クラスのインスタンスとそのデータメンバの大きさを与えます。それを得るには、次のようにします。

string s;
cout << s.size();