Iterators
Was gibt das folgende Programm aus?
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::cout << *vec.begin();
return 0;
}Optionen: 1, Undefiniertes Verhalten, Error
Korrekt: 1
Was gibt das folgende Programm aus?
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::cout << *vec.end();
return 0;
}Optionen: 5, undefiniertes Verhalten, Error
Korrekt: undefiniertes Verhalten
Was gibt das folgende Programm aus?
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::cout << vec.at(5);
return 0;
}Optionen: 5, undefiniertes Verhalten, Error
Korrekt: Error
Was gibt das folgende Programm aus?
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
std::cout << vec[5];
return 0;
}Optionen: 5, undefiniertes Verhalten, Error
Korrekt: undefiniertes Verhalten
Was gibt das folgende Programm aus?
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {9, 4, 3, 5, 1};
for (auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it;
}
return 0;
}Antwort: 94351
Was gibt das folgende Programm aus?
#include <iostream>
#include <set>
int main() {
std::set<int> s = {9, 4, 3, 5, 1};
for (auto it = s.begin(); it != s.end(); ++it) {
std::cout << *it;
}
return 0;
}Antwort: 13459
Was gibt das folgende Programm aus?
#include <iostream>
#include <vector>
void mul_by(std::vector<int>::iterator begin,
std::vector<int>::iterator end, int x){
for(auto it = begin; it != end; ++it){
(*it) *= x;
}
}
int main() {
std::vector<int> vec = {0, 1, 2, 3, 4};
mul_by(vec.begin(), vec.end()-2, 2);
for (auto it = vec.begin(); it != vec.end(); ++it) {
std::cout << *it;
}
return 0;
}Antwort: 02434
Was gibt das folgende Programm aus?
#include <iostream>
struct rational{
int n;
int d;
operator double (){
return n/d;
}
};
int main() {
rational a{1,2};
std::cout << 5.0*a;
return 0;
}Optionen: 0, 2.5, 5.0, kompiliert nicht
Korrekt: 0