用英文字母初始化矢量

shi*_*azy -1 c++ initialization vector

我们可以有一个大小为26的字母向量,用英文字母初始化吗?我们可以立刻初始化这个矢量吗?

Jus*_*all 5

是的你可以.您可以使用std::iota以字母开头的ASCII字符排序轻松完成此操作A.

#include <iostream>
#include <numeric>
#include <vector>

int main()
{
    std::vector<char> alphabet(26);
    std::iota(alphabet.begin(), alphabet.end(), 'A');

    for (const auto& i : alphabet)
    {
        std::cout << i << std::endl;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

  • 要知道这是有效的,您必须知道编译器将 'A' 转码为的执行字符编码,并且通过在该范围内递增 `char` 产生所需序列,其中 `char` 值在该编码中有效。是的,它确实适用于类似于 ASCII 的编码,适用于英语字母表。第一个是自由放任;二是过拟合。 (2认同)
  • 一个小小的咨询:这不适用于西班牙字母表,对吧? (2认同)