我要填寫與英文字母矢量裝滿字母字符的向量。所以我寫了以下內容:使用std :: generate_n
#include <iostream>
#include <algorithm>
#include <vector>
#include <iterator>
char i='a';
char f(){return i++;};
int main()
{
std::vector<char> lol(24);
std::generate_n(lol.begin(),lol.size(),f);
std::copy(lol.begin(),lol.end(),std::ostream_iterator<int>(std::cout,","));
}
但std :: copy打印97,98,99...
字母的ASCII代碼。我怎樣才能解決這個問題?
順便說一句,擡頭'的std :: iota',並認識到信不在字符執行集中必須是連續的。 – chris
@chris非常感謝你,用這種方式很容易'std :: iota(lol.begin(),lol.end(),'a');'' –