C++ 中字符串向量的索引

Index of vector of strings in c++

本文关键字:索引 向量 字符串 C++      更新时间:2023-10-16

我有一个字符串向量,包括:-化学物理数学。 我想访问每个单词的第一个字符,即化学 p 的物理 p 和数学的 m。怎么做?

您可以通过此过程输出第一个索引元素。

我制作了一个 2D 矢量并应用了一个 for 循环,因此打印了矢量第一个元素的每一行。

#include <iostream>
#include <vector>
int main()
{
std::vector<std::string> vec = {"chemistry", "maths", "physics"};
for(int i=0;i<vec.size();i++)
{
std::cout << vec[i][0];
}
return EXIT_SUCCESS;
}

您还可以使用基于范围的 for 循环

for (auto &i : vec)
std::cout << i[0] << " ";

输出将是

c m p

您可以将其视为字符的 2D 矩阵。

给定字符串的向量:

std::vector<std::string> vec = {"chemestry", "physics", "math"};

您可以使用普通循环来访问所有第一个字符:

for (int i = 0; i < vec.size(); i++)
std::cout << vec[i][0] << " ";

或基于范围的循环:

for (auto &str : vec)
std::cout << str[0] << " ";

输出:

c p m 

我认为这段代码应该可以解决问题。如果不是,那么编译器就是种族主义者,不太喜欢你。在这种情况下,您可以直接去找您的老朋友 cpp.sh :D

字符串是一个字符数组,您可以从索引访问它的内容,如下所示

std::string str = "Hello";
std::cout << "First Index: " << str[0];

输出:-

H

向量也是如此

std::vector <char> str = "World!";
std::cout << "First Index: " << str[0];

输出:-

W

现在,如果您将这两者结合起来,它就会使其成为 2D 数组,因此您必须像访问 2D 数组/矩阵中的数据一样访问它。

std::vector <std::string> str = {"Hello", "World", "!"};
std::cout << "First Index Of Element 1: " << str[0][0] << std::endl
<< "First Index Of Element 2: " << str[1][0] << std::endl
<< "First Index Of Element 3: " << str[2][0] << std::endl;

输出:-

H
W
!

程序:-

#include <iostream>
#include <vector>
int main() {
std::vector <std::string> vec = {"chemistry", "physics", "math"};
for (int i=0; i < vec.size(); i++) {  //-- size(); Function gives the size of a vector
std::cout << vec[i][0] << std::endl;
}
return 0;
}

输出:-

c
p
m
Press any key to continue...