我想要在C++向量中獲取最後一個定義的元素,但vector :: capacity和vector :: size只是給我最大的大小。例如:在向量C++中查找最後定義的元素
int main() {
char* array = new char[MAX_SIZE]; //MAX_SIZE is a const int equaling 100
std::cout << "Enter in a number: ";
std::cin >> array;
std::vector<char> cVector;
cVector.reserve(MAX_SIZE);
cVector.assign(array, array + MAX_SIZE);
for (std::vector<char>::const_iterator i = cVector.begin(); i != cVector.end(); ++i)
{
std::cout << *i;
}
std::cout << std::endl;
std::cout << "Size: " << cVector.size() << std::endl;
std::cout << "Actual size: " << cVector.capacity() << std::endl;
}
樣本輸出:
Enter in a number: 55
55
Size: 100
Actual size: 100 [Should say 2]
我使用矢量::結束()和類似的方法試過了,但是沒有辦法,我拿到的最後一個元素的索引。
代碼完成應該做的事情。你最後定義的元素是什麼意思?你構造'cVector'的大小爲MAX_SIZE。爲什麼你不使用'std :: string'? –
我的歉意。我最初使用了一個動態數組,並在那裏定義了它,但後來更改爲普通數組。我現在要修復它。 – user3288091
爲什麼實際尺寸要說2? – smac89