在数组中,我们可以执行int arr[100]={0}
,这会将数组中的所有值初始化为0。我尝试使用向量相同的方式:vector <int> v(100)={0}
,但是会出现错误error: expected ‘,’ or ‘;’ before ‘=’ token
。如果我们可以通过C ++的"memset"函数来实现,请也告诉我这个解决方案。
在数组中,我们可以执行int arr[100]={0}
,这会将数组中的所有值初始化为0。我尝试使用向量相同的方式:vector <int> v(100)={0}
,但是会出现错误error: expected ‘,’ or ‘;’ before ‘=’ token
。如果我们可以通过C ++的"memset"函数来实现,请也告诉我这个解决方案。
您可以使用:
std::vector<int> v(100); // 100 is the number of elements.
// The elements are initialized with zero values.
您可以使用以下方法明确表达零值:
std::vector<int> v(100, 0);
您可以使用第二种形式来将所有元素初始化为除零以外的其他值。std::vector<int> v(100, 5); // Creates object with 100 elements.
// Each of the elements is initialized to 5
{0}
,人们认为_那_就是默认值,好像写{5}
会把它们全部构造成5
。只需写int arr[100] = {};
即可将它们默认构造为0
,提供一个单独的值将构造第一个值为该值,其余为0
。 - Tasstd::vector
构造函数的参考会有所帮助? - Some programmer dude