class Solution {
public:
int finalValueAfterOperations(vector& operations) {
int x = 0;
for (auto &op : operations) {
if (op == "X++" || op == "++X") {
x++;
} else {
x--;
}
}
return x;
}
};
现在大一c++刚学到多态,在LeetCode里找了一道最简单的数组题,发现很多东西都没见过,比如这个函数中的参数表,这个形式没见过,还有for中的auto &op:这些都没见过。
感觉现在学的c++好多格式都和c一样,感觉就是在用c++的部分语法写c语言,请问我该怎么学习啊
感谢回答!
这段代码定义了一个名为Solution
的类,其中有一个公有成员函数finalValueAfterOperations
,该函数有一个参数operations
,类型为vector<string>
。
函数的目的是执行一系列操作并返回最终结果。对于每个操作字符串,如果它是"X++"或"++X",则将变量x
增加1,否则将x
减少1。
最后,函数返回变量x
的值作为操作的最终结果。 先学C后学C++
for(auto a:b)中b为一个容器,效果是利用a遍历并获得b容器中的每一个值,但是a无法影响到b容器中的元素。
for(auto &a:b)中加了引用符号,可以对容器中的内容进行赋值,即可通过对a赋值来做到容器b的内容填充。