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

时间:2019-02-09 21:04:40

标签: c# c++ c++11 visual-c++

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

字符串a =“ int”

字符串b =“ float”

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

3 个答案:

答案 0 :(得分:2)

在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;
}

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

答案 1 :(得分:0)

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

在C ++中是不可能做到这一点的,因为不支持这种转换(请参见Convert string to variable name or variable type)。

但是,您可以按照TmCrafz在先前的回答中提出的 if-else 结构进行操作。

答案 2 :(得分:-1)

使用字符串时,您可以使用

来访问大小
string a = "int";
System.out.println("length: " + a.length);

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