在评估中,我在LINE I上选择了选项运行时错误。尽管我认为那是正确的选择,但没有“ 未定义的行为”这样的选项。
我不确定,但我认为评估中有错误。我编译并运行了该程序,并确实3, 9, 0, 2, 1, 4, 5,
使用三种不同的编译器(Cpp.sh,在此以及在Mac OS X上本地)进行打印。
程序是否由于LINE I而具有未定义的行为?
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
void printer(int i) {
cout << i << ", ";
}
int main() {
int mynumbers[] = { 3, 9, 0, 2, 1, 4, 5 };
vector<int> v1(mynumbers, mynumbers + 7);
copy(mynumbers, mynumbers + 7, v1.end());//LINE I
for_each(v1.begin(), v1.end(), printer);//LINE II
return 0;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
54 次 |
最近记录: |