-6

我想知道一个数据类型在 c++ 中有多少字节,但我不知道从哪里开始。我在谷歌上搜索但找不到任何东西。

4

2 回答 2

2

我不知道你怎么会错过sizeof

在编程语言 C 和 C++ 中,一元运算符 sizeof 用于计算任何数据类型的大小。sizeof 运算符产生其操作数相对于 char 类型大小的大小。

sizeof ( type-name )

请参阅此处了解更多信息:MSDN

以下是来自 MSDN 的示例:

size_t getPtrSize( char *ptr )
{
   return sizeof( ptr );
}

using namespace std;
int main()
{
   char szHello[] = "Hello, world!";

   cout  << "The size of a char is: "
         << sizeof( char )
         << "\nThe length of " << szHello << " is: "
         << sizeof szHello
         << "\nThe size of the pointer is "
         << getPtrSize( szHello ) << endl;
}
于 2013-07-24T10:13:58.443 回答
1

使用 sizeof 运算符

#include <iostream>
using namespace std;
int main()
{
    cout << "bool:\t\t" << sizeof(bool) << " bytes" << endl;
    cout << "char:\t\t" << sizeof(char) << " bytes" << endl;
    cout << "wchar_t:\t" << sizeof(wchar_t) << " bytes" << endl;
    cout << "short:\t\t" << sizeof(short) << " bytes" << endl;
    cout << "int:\t\t" << sizeof(int) << " bytes" << endl;
    cout << "long:\t\t" << sizeof(long) << " bytes" << endl;
    cout << "float:\t\t" << sizeof(float) << " bytes" << endl;
    cout << "double:\t\t" << sizeof(double) << " bytes" << endl;
    cout << "long double:\t" << sizeof(long double) << " bytes" << endl;
    return 0;
}

输出:

bool:       1 bytes
char:       1 bytes
wchar_t:    2 bytes
short:      2 bytes
int:        4 bytes
long:       4 bytes
float:      4 bytes
double:     8 bytes
long double:    12 bytes

使用 MinGW g++ 4.7.2 Windows

于 2013-07-24T10:17:19.943 回答