有什么方法可以使用十进制ASCII码通过自动类型推断来获取char?

时间:2018-10-22 14:42:58

标签: c++ c++14 c++17

例如'a'具有ASCII码97,我们可以使用

char ch = 'a';

char ch = 97;

使用 auto 我们可以编写

auto ch = 'a';

对于第一种情况,但是如何在推导过程中通过数字ascii代码获取char变量?

这对我不起作用:

auto ch = '\97';

4 个答案:

答案 0 :(得分:37)

您必须将八进制或十六进制值用于转义序列

start, end = pd.to_datetime('2016-01-05'), pd.to_datetime('2016-01-10')
dat.loc[start:end, 'B'] = dat2.loc[start:end, 'B']

有关更多信息,https://en.cppreference.com/w/cpp/language/escape

如果要使用十进制值,则有两个选择:

  1. 转换为字符

    auto ch  = '\141';
    auto ch2 = '\x61';
    
  2. 用户定义的文字

    auto ch = static_cast<char>(97);
    

答案 1 :(得分:20)

没有十进制转义符,但可以使用十六进制'\x61'或八进制'\141'
如果确实需要小数,则需要强制转换; char{97}

答案 2 :(得分:8)

没有用于指定char的整数。您必须明确命名类型,例如

auto ch = char{97};

答案 3 :(得分:4)

integral literal投射到// set class value to missing s[i.classIndex()] = null;

static double N69cd8e58128(Object []i) {
    double p = Double.NaN;
    if (i[2] == null) {
        p = 1;
    } else if (((Double) i[2]).doubleValue() <= 6.43) {
        p = WekaClassifier.Nad3034129(i);
    } else if (((Double) i[2]).doubleValue() > 6.43) {
        p = WekaClassifier.N26ef16ed242(i);
    }
    return p;
}