在C ++中查找项目的最后一个元素

时间:2018-12-11 08:29:15

标签: c++ arrays

我在Visual Studio上研究C ++项目。我通常有更多代码,但是我为您准备了代码的简单基本示例:

void printArray(string theArray[], int sizeOfArray);

int main()
{
   string data[] = { "Hi","my","name","is","John"};

   int num_elements = sizeof(data) / sizeof(data[0]);

   printArray(data, num_elements);

   system("PAUSE");
   return 0;
}

void printArray(string theArray[], int sizeOfArray) {
   for (int x = 0; x < sizeOfArray; x++) {
      cout << theArray[x] << endl;
    }
}

那么,有什么办法可以找到数组的最后一个项目吗? 我的预期输出看起来只有John

3 个答案:

答案 0 :(得分:2)

代替此:

for (int x = 0; x < sizeOfArray; x++) {
    cout << theArray[x] << endl;
}

您可以简单地说:

cout << theArray[sizeOfArray - 1] << endl;

如果只想打印一个元素,则不需要循环。

答案 1 :(得分:2)

您可以使用std::vector代替数组,并使用std::vector::back访问最后一个元素。

#include <vector>
#include <iostream>
#include <string>

void printArray(std::vector<std::string> theArray);

int main()
{
   std::vector<std::string> data = { "Hi","my","name","is","John"};

   printArray(data);

   system("PAUSE");
   return 0;
}

void printArray(std::vector<std::string> theArray) {
   for (const auto &element : theArray) {
      cout << element << endl;
   }
   cout << "Last: " << theArray.back() << endl;
}

vector是标准c ++的一部分。如果您学习c ++,则应使用容器。 std::vector的替代方法是std::array。两者都存储大小,因此您无需将其作为参数传递给函数。

答案 2 :(得分:1)

您不需要遍历所有元素,

string lastElement=theArray[sizeofarray-1]