繁体   English   中英

如何获取字符串内部数据类型的大小?

[英]How can get the size of the data type which is inside the string?

如何获取字符串内的数据类型大小

字符串a =“ int”

字符串b =“ float”

我想获取int和float数据类型的大小...

在c ++中,当您仅使用primitve类型时,可以使用if和else来做到这一点:

std::size_t getSizeOfType(std::string& str) {
    if (str == "int") {
        return sizeof(int);
    }
    else if (str == "float") {
        return sizeof(float);
    }
    return 0;
}

您可以为每种原始类型执行此操作。

您正在尝试将字符串转换为可变数据类型,然后获取其大小。

在C ++中是不可能做到这一点的,因为没有语言支持这种转换(请参阅将字符串转换为变量名或变量类型 )。

但是,您可以执行TmCrafz在先前的答案中提出的if-else结构。

使用字符串时,您可以使用来访问大小,

string a = "int";
System.out.println("length: " + a.length);

如果不是您所需要的,我将无法正确理解您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM