sizeof(string)

    xiaoxiao2021-12-14  20

    1、sizeof()返回的是string对象所占用的空间,而不是string所存储的字符串的大小。 2、string的实现在各库中可能有所不同,但是在同一库中相同的一点是,无论string里放多长的字符串,它的sizeof()都是固定的,字符串所占的空间是从堆中动态分配的,与sizeof()无关。

    3、sizeof(string)=4可能是最典型的实现之一,不过也有sizeof()为12、32字节的库实现,VC6.0测试后sizeof(string)=16,说明还是跟编译器有关。

    eg: win8.1 64位 vs2012

    string str="123156465746465432168asasd"; cout <<sizeof(str) <<endl; //28 cout <<sizeof(string) <<endl; //28

    转载请注明原文地址: https://ju.6miu.com/read-964429.html

    最新回复(0)