Ссылка на множество в C++
При присваивании записывается копия множества.
Запишем копию, вызовем insert
и проверим исходное множество через contains:
#include <iostream>
#include <set>
int main() {
std::set<int> st1 = {1, 2, 3};
std::set<int> st2 = st1;
st2.insert(4);
std::cout << st1.contains(4) << "\n"; // выведет 0
return 0;
}
Ссылка смотрит в то же множество.
Элемент множества константный, присваиванием
его не меняют. Добавление через ссылку видно
в исходном множестве. Запишем ссылку,
вызовем insert и проверим contains:
#include <iostream>
#include <set>
int main() {
std::set<int> st1 = {1, 2, 3};
std::set<int>& st2 = st1;
st2.insert(4);
std::cout << st1.contains(4) << "\n"; // выведет 1
return 0;
}
Расскажите, каким будет результат выполнения кода:
#include <iostream>
#include <set>
int main() {
std::set<int> st1 = {5, 6};
std::set<int> st2 = st1;
st2.insert(7);
std::cout << st1.contains(7) << "\n";
return 0;
}
Расскажите, каким будет результат выполнения кода:
#include <iostream>
#include <set>
int main() {
std::set<int> st1 = {8, 9};
std::set<int>& st2 = st1;
st2.insert(10);
std::cout << st1.contains(10) << "\n";
return 0;
}