array :: data和array :: front的用法

时间:2015-08-19 01:34:12

标签: c++ c++11 stdarray

.../me/taggable_friends& array::front之间有什么区别吗?

前1:

array::data

前2:

const char* cstring = "Test String";
array<char, 12> carray;
std::memcpy(&carray.front(), cstring, 12);

以上两个相同吗?或者const char* cstring = "Test String"; array<char, 12> carray; std::memcpy(carray.data(), cstring, 12); 是否有任何特殊用途?

1 个答案:

答案 0 :(得分:2)

区别在于front()返回对第一个元素的引用,data()返回指向它的指针。对于零大小的数组,前者未定义,后者未指定。对于非零大小的数组,data()完全等同于&front()

在这种情况下,您应该更喜欢data(),因为您需要一个指针并为您提供指针。