Рассмотрим следующий код:
#include <vector>
#include <iostream>
void monitor_vector(std::vector<int> myV)
{
std::vector<int>::iterator it = myV.begin();
std::cout << "Vector size: " << myV.size() << std::endl;
while (*it)
{
std::cout << "Element " << it-myV.begin() << ": " << *it << std::endl;
it++;
}
}
int main()
{
std::vector<int> myVector(4,1);
monitor_vector(myVector);
return 0;
}
По сути, я создаю std::vector<int>
с 4
элементами и назначаю каждому элементу 1
. Когда я выполняю этот код, все хорошо. Выходные данные показывают каждый элемент.
Однако, когда я выполняю это с этой строкой
std::vector<int> myVector(4,1);
заменяется на эту строку:
std::vector<int> myVector(4,0);
Я не вижу результатов. Выход:
yilmazali@yilmazali:~/cpp_practice$ g++ -o la vector_practice.cpp
yilmazali@yilmazali:~/cpp_practice$ ./la
Vector size: 4
yilmazali@yilmazali:~/cpp_practice$
Почему игнорируются элементы с целочисленным значением по умолчанию? Тем не менее, они там как член std::vector
.
Спасибо за ваше время,
Али