填充具有相同值的wchar数组元素

时间:2014-12-22 10:39:47

标签: c++

我有一个wchar_t a[1000]数组。

我想用相同的值填充数组元素:

a[0]= 'w', a[1]= 'w',...a[999] = 'w'.

有没有快速的方法可以做到这一点?

(不使用for循环分配每个值)

4 个答案:

答案 0 :(得分:3)

您可以使用算法中的std :: fill

#include <algorithm>
#include <array>

int main(){
    std::array<wchar, 1000> a;
    std::fill(a.begin(), a.end(), 'w');

}

答案 1 :(得分:1)

在GCC中你可以使用

wchar_t a[1000] = {[0 ... 999] = 'w'};

答案 2 :(得分:0)

将其声明为全局,并使用'w'初始化它。很抱歉你应该手动完成,但ISO C ++不喜欢元编程。

wchar_t a[1000] { 'w', 'w' /*............*/ };

这是最快的方法,因为在加载程序时,数组数据将直接复制到内存中。

答案 3 :(得分:0)

我能想到的最紧凑的方法是使用std::vector - 它的一个构造函数正在完成你想要的东西(它可能在内部使用循环):

std::vector<wchar_t> a(1000, 'w');