Sample Test
Please, keep in mind that the content of the course is different, so some of the questions are not and will not be covered at all.
- При кое извикване на функция/метод ще се използва Argument Dependent
Lookup?
- ::f(a);
- a.f(b);
- Lib::f(a);
- f(a)
- При дадените декларации:
Обръщението f(d) e:class Base { } ; class Der : public Base { } ; void f(const Base& o); template
f(const T& o); Der d; - Обръщение към void f(const Base& o)
- Обръщение към void f
(const Derived& o) - Компилационна грешка - неопределено
- Грешка по време на изпълниение
- На какво разчита RAII (Resource Acquisition Is Initialization) за да
осигури придобиването и освобождаването на ресурса съответно?
- на явно извикване на методи
- на конструктора и деструктора
- на използването на умен указател
- Използването на shared_ptr има смисъл само при multithreaded
приложения?
- вярно
- не вярно
- При използването на operator-> на умен указател, operator-> се
прилага:
- един път
- докато се стигне до обикновен указател
- На какво разчита std::binary_search(begin, end) за да работи?
- [begin, end) да е сортирана редица и елементите и да имат operator==
- [begin, end) да е сортирана редица и елементите и да имат operator<
- [begin, end) да е произволна редица и елементите и да имат operator<
- [begin, end) да е произволна редица и елементите и да имат operator==
- Кой алгоритъм бихте използвали за извеждане на десетте най-добри
резултата в намаляващ ред?
- std::sort
- std::nth_element
- std::partial_sort
- собствен алгоритъм
- При следните декларации:
template
void f(const T& x); template void f(const std::vector & x); void f(const std::vector & x); typedef std::vector VectorInt; VectorInt x; Обръщението f(x) ще извика: - f(const T& x)
- f(const std::vector
& x) - f(const std::vector
& x) - Виртуалното наследяване е част от поддръжката на C++ за
- виртуални методи
- generic programming
- множествено наследяване
- обектно-ориентирано програмиране
- Точка на инстацииране наричаме:
- мястото на създаване на обект
- мястото на декларация на шаблон
- мястото на дефиниция на шаблон
- мястото на използване на шаблон
- Кои методи на шаблон се инстанциират при използването на lazy
instantiation в рамките на един translation unit и видима дефиниция
на шаблона?
- всички, които се използват
- всички
- никой - методите се генерират веднъж за цялото приложение
- само тези които явно укажем
- Кога се извършва name lookup за използваните функции независещи от
шаблонен аргумент в даден шаблон?
- при декларацията на шаблона
- при дефиницията на шаблона
- при инстанциирането на шаблона
- weak_ptr
- нормален указател
- умен указател, правещ reference count и освобождаващ ресурса, когато не е нужен
- умен указател, сочещ към споделен ресурс, без да се брои като reference
- Ако има нещо нередно със следния код, как бихте го поправили?
struct Base { void f(int); } struct Der : Base { void f(const vector
&); } Der d; d.f(42); - Къде може да ползвате „безопасно“ виртуални функции?
- само извън класа
- извън класа и в неговите методи
- навсякъде с изключение на инициализиащия списък на базовите класове
- Ако има нещо нередно със следния код, как бихте го поправили?
bool print(int x) { cout << x; } vector
v(10); // v = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} vector x; std::copy(v.begin(), v.end(), x.begin()); std::for_each(x.begin(), x.end(), print);