Sj中国智造 发表于 2018-2-12 16:36:27

关于c++string类字符串的问题

        为什么我str无论输多长,sizeof(str)总等于24#include <iostream>
#include <string>

int main()
{
    std::string str = "qwertyuiopasdfghjklmnbvczaqwedsxcvfrtgbnhyujm,kiol.,kiujmnhytgbvfredcxswqazqwertaysudhfncjdjdhdiecheuihduhd";

    std::cout<<str.length()<<"\n";
    std::cout<<sizeof(str)<<"\n";

    return 0;
}

MSK 发表于 2018-2-12 17:14:47

str 是一个string 对象, sizeof(str)返回的是str这个对象的大小,
获取一个str的长度可以这样
str.size()

#include <iostream>
#include <string>

int main()
{
    std::string str = "qwertyuiopasdfghjklmnbvczaqwedsxcvfrtgbnhyujm,kiol.,kiujmnhytgbvfredcxswqazqwertaysudhfncjdjdhdiecheuihduhd";

    std::cout<<str.length()<<"\n";
    std::cout<<sizeof(str)<<"\n";
    std::cout<<str.size()<<std::endl;

    return 0;
}

FreedomZSX 发表于 2018-2-13 14:50:13

sizeof 不可重载 {:10_256:}
页: [1]
查看完整版本: 关于c++string类字符串的问题