C++ C+中的无穷大+;
我想一次又一次地在C++ C+中的无穷大+;,c++,loops,vector,std,C++,Loops,Vector,Std,我想一次又一次地在std::vector上循环,直到我从循环中中断。这是最好的方式吗 int main() { std::string str; std::ifstream infile; std::vector<int> vec; std::set<int> sums; int sum = 0; sums.insert(sum); infile.open("Text.txt"); while (!infile.eof()) { getline(infile, s
std::vector
上循环,直到我从循环中中断。这是最好的方式吗
int main() {
std::string str;
std::ifstream infile;
std::vector<int> vec;
std::set<int> sums;
int sum = 0;
sums.insert(sum);
infile.open("Text.txt");
while (!infile.eof()) {
getline(infile, str);
vec.push_back(std::stoi(str));
}
infile.close();
while (true) {
for (int i : vec) {
sum += i;
if (sums.count(sum)) {
std::cout << sum;
return 0;
}
sums.insert(sum);
}
}
intmain(){
std::字符串str;
std::ifstream-infle;
std::vec;
std::集合和;
整数和=0;
金额。插入(金额);
infle.open(“Text.txt”);
而(!infle.eof()){
getline(infle,str);
向量推回(std::stoi(str));
}
infle.close();
while(true){
用于(int i:vec){
总和+=i;
if(总和。计数(总和)){
std::cout您可以使用算法库并执行以下操作:
std::vector<int> vec;
// initialize vec here
while (std::none_of(vec.begin(), vec.end(), [](int i) {
// return true here to break
return false;
}));
std::向量向量向量机;
//在这里初始化vec
while(std::none_of(vec.begin()、vec.end()、[](int i){
//在这里返回true以中断
返回false;
}));
代码没有按照您描述的那样执行,因为您遗漏了重要部分(没有中断
),因此很难说什么是“最好的”。请提供一个示例。您显示的代码确实会永远重复内部部分,该部分在向量上循环(假设有一些内容您没有显示)。现在您需要定义“最佳”考虑看一下标签,它提供了一个很好的选择来定义你的定义。我最喜欢的是“老师幸福”。你应该异步地做它,因为我相信这将在UI上运行。你在循环中对<代码> VEC>代码>做什么,如果是的话,什么?聪明。也许好,也许坏,但是聪明。