如何存储从std::copy
返回的OutputIterator作为后来std::distance
来电的参数?
我不能在C ++ 11中使用auto,我需要使用c风格的数组。
这就是我想要做的事情:
unsigned char data[MAX_DATA_LEN];
unsigned char x[MAX_X_LEN], y[MAX_Y_LEN];
// I cannot use auto here
auto out =
std::copy ( x,
x + runtime_x_len ,
std::copy ( y,
y + runtime_y_len ,
data ) );
size_t data_size = std::distance ( data , out );
答案 0 :(得分:4)
对于C风格的数组,'迭代器' return只是指向元素类型的指针。
因此,在您的情况下,std::copy()
的返回值为unsigned char*
。