Как получить размер типа данных, который находится внутри строки? - PullRequest
0 голосов
/ 10 февраля 2019

как я могу получить размер типа данных, который находится внутри строки

string a = "int"

string b = "float"

Я хочу получитьразмер типа int и float ...

Ответы [ 3 ]

0 голосов
/ 10 февраля 2019

В c ++, когда вы используете только типы примитивов, вы можете сделать это с if и else:

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

Вы можете сделать это для каждого примитивного типа.

0 голосов
/ 10 февраля 2019

Вы пытаетесь преобразовать строку в переменный тип данных, а затем получить ее размер.

Это невозможно сделать в C ++, поскольку нет языковой поддержки для такого преобразования (см. Преобразуйте строку в имя переменной или тип переменной ).

Однако вы можете создать структуру if-else , как это предложено TmCrafz в предыдущем ответе.

0 голосов
/ 10 февраля 2019

Когда вы используете строку, вы можете получить доступ к размеру, используя,

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

Если не то, что вам нужно, я не правильно понял ваш вопрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...