【发布时间】:2011-01-03 00:47:08
【问题描述】:
我如何实现这个静态数组初始化的动态等效:
char c[2] = {}; // Sets all members to '\0';
换句话说,创建一个动态数组,其中所有值都初始化为终止字符:
char* c = new char[length]; // how do i amend this?
【问题讨论】:
-
哇.. 这是一个很好的问题。很多人似乎不知道 std::fill_n。
-
只是为了记录,我并不是完全不知道
std::fill_n,只是我大多忽略它,只在必要时使用_n算法。那是当迭代器类型不支持operator+时,std::advance可能效率低下。这些条件都不适用于指针。