Ответы к тесту/контрольной: Программирование на С/С++

-20%

Описание

Здесь представлена подборка ответов на тестовые вопросы по предмету "Программирование на С/С++". Перед покупкой проверяйте точно ли здесь представлены те вопросы, ответы на которые вам нужны.

Список вопросов

С какими вариантами модификаторов и сигнатур могут быть деструкторы?
Какие утверждения про тип size_t в языке C верны?
Какие преимущества даёт инкапсуляция?
Какие цели преследовались и каким ценностям отдавалось предпочтение при создании STL?
//====================== start of sample.cpp ========================== class Person { public: short m_age; const char* m_name; const char* m_surname; }; class Library { public: long m_books_count; std::string m_name; static std::string m_city; }; class Program { public: std::string prog_name; long version; void* prog_data; }; class Region { public: short country_code; short city_code; std::shared_ptr<Library< main_library; };//====================== end of sample.cpp ========================== 
Для какого из классов в фрагменте файла sample.cpp необходима реализация своего оператора копирования?
Какие свойства отличают несложный код?
Каковы основные цели разработки boost?
К какой характеристике класса памяти относится следующее определение: "насколько долго участок памяти, будет занят соответствующей переменной"?
К чему приведёт объявление переменной регистровой?
Для каких объектов данных связывание отсутствует?
Какие возможности даёт использование поведенческий шаблон: посредник?
Какие задачи решаются на самом начальном этапе проектирования системы?
Целями проектирования всегда являются:
Каковы особенности умного указателя boost::weak_ptr?
Какие утверждения про неустойчивые объекты верны?
 //====================== start of sample.h ========================== struct A {}; struct B; struct B *pb = 0; struct A *pa = 0; struct B b; struct A a; void foo(const struct B& in_b); //====================== end of sample.h ========================== 
Какие присвоения и объявления в файле sample.h валидны?
Каковы особенности шаблона «делегирование»?
 //====================== start of sample.cpp ========================== class Region { short country_code; short city_code; char* city_name; public: Region(); short get_country_code() { return country_code; } inline short get_city_code() const; const char* get_city_name() const; }; Region::Region() : country_code(0) , city_code(0) , city_name(0) {} inline short Region::get_city_code() const { return city_code; } const char* Region::get_city_name() const { return city_name; } //====================== end of sample.cpp ========================== 
Какие из методов являются встроенными и объявлены корректно?
Для чего предназначено макроопределение NULL?
На что следует обратить внимание при оптимизации программ по размеру объектного кода и памяти данных?
Какой из структурных шаблонов обеспечивает контроль доступа к объекту путём реализации proxy-объекта?
Какие недостатоки шаблона «абстрактная фабрика»?
Какой из последовательных контейнеров обеспечивает наилучшее время вставки элемента?
 //====================== start of sample.cpp ========================== template<unsigned long N> class binary { public: static unsigned long const value = binary<N / 10>::value << 1 | N % 10; }; template<> class binary<0> { public: static unsigned long const value = 0; }; int main(int argc, char* argv[]) { if (argc > 1) { static unsigned const two = binary<10>::value; } return 0; } //====================== end of sample.cpp ========================== 
Когда будет посчитано значение переменной two?
//====================== start of sample.cpp ========================== class Person { public: long GetAge(); bool IsMale(); }; class Trader: private Person { public: long GetAge(); long GetAccount(); }; class Worker { public: long GetExperience(); long GetSalary(); }; class Developer : public Worker, private Person { }; class Boss: protected Worker { public: unsigned short GetLevel(); const char* GetDepartment(); }; class HeadOfAll: public Boss {};//====================== end of sample.cpp ========================== 
Для какого из производных классов в файле sample.cpp наследование выполнено для наследования интерфейса?
//====================== start of sample.cpp ========================== #include <stdio.h> #include <stdlib.h> #include <vector> class ServiceOrganization; class BuildingElement { static char* m_city; std::vector<int> m_flats; unsigned int m_square; ServiceOrganization& m_organization; FILE *m_document; BuildingElement* m_pNext; public: BuildingElement(); BuildingElement(BuildingElement&& src) : m_square(0) , m_organization(src.m_organization) , m_document(src.m_document) , m_pNext(src.m_pNext) { m_flats = src.m_flats; src.m_flats.clear(); src.m_organization = ServiceOrganization(); ::fclose(src.m_document); src.m_document = NULL; ::free(src.m_pNext); src.m_pNext = NULL; } };//====================== end of sample.cpp ========================== 
Какие операции, выполняемые в конструкторе переноса в файле sample.cpp являются лишними?
Какие утверждения насчёт явного вызова деструктора верны?
Какие утверждения относительно идиомы RAII верны?
На что распространяется константность константного объекта класса?
Какие цели могут быть достигнуты рефакторингом?
Какие характеристики описывают «структурное качество» программы?
 //====================== start of sample.cpp ========================== template <typename T> class multiplies: public binary_function<T,T,T> { public: T operator() (const T& x, const T& y) const { return x * y; } }; //====================== end of sample.cpp ========================== 
Какие утверждения про приведённый выше код функтора multiplies верны?
Какие проблемы архитектуры позволяет решить следование закону Деметра?
В каких случаях используется идиома «Конверт/письмо»?
Какие преимущества обеспечивает тип boost::variant по сравнению с union?
Какие утверждения про различные виды обобщённых алгоритмов верны?
Какие данные нельзя менять в ассоциативном контейнере?
//====================== start of sample.cpp ========================== class Region; class Person { public: short m_age; const char* m_name; const char* m_surname; const char* m_region_name; Person(const char* name) : m_name(name) {} operator short () {return m_age;} operator const char* () {return "";} operator Region* (); }; class Region { public: const char* region_name; const char* cheef_name; long size; Region(const char* region_nm) : region_name(region_nm) {} operator long () {return size;} operator const char* () {return region_name;} operator Person () {return Person(cheef_name);} }; Person::operator Region* () {return new Region(m_region_name);}//====================== end of sample.cpp ========================== 
Какие операторы преобразования класса Person не являются корректными с точки зрения архитектуры?
 //====================== start of sample.cpp ========================== struct Semaphor { const long power_on:1; long red:1; long yellow:1; long green:1; static long is_new_version:1; }; int main() { Semaphor my_semaphor={1}; bool is_red = my_semaphor.red; long* pyellow = &(my_semaphor.yellow); bool power_on = my_semaphor.power_on; int new_version = my_semaphor.is_new_version; return 0; } //====================== end of sample.cpp ========================== 
Какие присвоения битовых полей корректны (и соответственно описания этих полей) файле sample.cpp?
Каким образом может решаться проблема неоптимальных ветвлений кода?
В чём преимущества многомерного массива перед вектором векторов?
Какие утверждения про одномерные массивы в языке С верны?
 //====================== start of sample.cpp ========================== #include <boost/shared_ptr.hpp> #include <boost/scoped_ptr.hpp> #include <boost/weak_ptr.hpp> #include <vector> struct A { virtual ~A(); }; struct B: public A {}; struct C {}; void foo1(boost::shared_ptr<A> a); void foo2(boost::weak_ptr<B>& a); void foo3(boost::shared_ptr<C> a); void foo4(boost::scoped_ptr<A>& a); void foo5(std::vector< boost::weak_ptr<C> >& c); int main(int argc, char* argv[]) { boost::shared_ptr<A> a(new A); boost::shared_ptr<B> b(new B); boost::shared_ptr<C> c(new C); boost::weak_ptr<A> b1(a); boost::weak_ptr<B> b2(b); boost::weak_ptr<C> b3(c); std::vector< boost::weak_ptr<C> > v1; v1.push_back(b3); foo1(b2.lock()); foo2(b2); try { boost::shared_ptr<C> c1(c); foo3(c1); } catch(boost::bad_weak_ptr& e) { } foo4(b2.lock()); foo5(v1); return 0; } //====================== end of sample.cpp ========================== 
Вызовы каких функций выполнены корректно и операции создания их параметров не содержат очевидных проблем?
Каковы преимущества использования конструктора с параметрами перед явной позиционной инициализацией объекта класса?
В каких случаях проявляется проблема множественного наследования?
Какие возможности даёт использование поведенческий шаблон: команда?
Для разработки каких классов программ широко используется язык С?
 //====================== start of sample.cpp ========================== struct A {}; struct B {}; struct C {}; struct D {}; struct E {}; struct F {}; class BaseIO { public: virtual int state() throw(A) = 0; virtual void read() throw(A, B) = 0; virtual void write() throw (C, D) = 0; virtual void open() throw (E,F) = 0; virtual void close() throw() = 0; }; class DiskIO: public BaseIO { public: virtual int state() throw(); virtual void read() throw (A, B); virtual void write() throw (C); virtual void open() throw (A, E); virtual void close() throw (F); }; //====================== end of sample.cpp ========================== 
Перегрузка каких виртуальных методов базового класса в классе DiskIO выполнена корректно?
Какой главный вопрос относительно исключений стандартной библиотеки необходимо решить при разработке своего программного продукта?
 //====================== start of sample.cpp ========================== class ARef { public: ARef(A &a, int i) : _a(a), _ix(i) {} ARef& operator= (T t) { return *this;} operator T() {return _t;} operator A() {return _a;} A& getA() { return _a;} bool operator == (A& a) {return _a == a;} private: A& _a; int _ix; T _t; }; class A { friend class ARef; public: A() {} ARef operator[] (int ix) {return ARef(*this, ix);} operator ARef() {return ARef(*this, ix);} }; int main() { A a; int i, j; T t; t = a[j]; return 0; } //====================== end of sample.cpp ========================== 
Какие из методов классов ARef и A из файла sample.cpp оказываются задействованы при операции t=a[j]?
Какие из нижеприведённых идиом являются объектно-ориентированными идиомами?
Какие утверждения о поведенческом шаблоне «посетитель» верны?
Какие возможности даёт использование поведенческий шаблон: наблюдатель?
Каковы особенности агрегирования по сравнению с осведомлённостью?
По какой причине может потребоваться переделка дизайна в многослойной архитектуре?
В ходе разработки дизайна должны быть обязательно выполнены следующие шаги:
Какая из библиотек Boost поддерживает анализ размерностей операндов вычислительных операций?
 //====================== start of sample.cpp ========================== #include <climits> #include <limits> #include <boost/static_assert.hpp> namespace name { BOOST_STATIC_ASSERT(std::numeric_limits<int>::digits == 32); } int main(int argc, char* argv[]) { return 0; } //====================== end of sample.cpp ========================== 
Что случится c программой из файла sample.cpp если в системе размер int больше 32 разрядов?
Какие утверждения о boost верны?
Каковы преимущества использования лямбда функций?
 //====================== start of sample.cpp ========================== bind2nd(greater<int>(), 100); //====================== end of sample.cpp ========================== 
Какие утверждения про приведённый выше адаптер верны?
 //====================== start of sample.h ========================== #include <algorithm> int main(int argc, char* argv[]) { size_t N = 40; int A[N]; size_t B[N*2]; char C[N]; int D[N]; std::replace(&B[0], &B[N/2], 0, 42); std::replace(C, (C+N+1), 'D', 'T'); std::copy(&A[0], &A[N-1], &D[0]); std::copy(A, (A+N), D); return 0; } //====================== end of sample.h ========================== 
В каких из вызовов обобщённых алгоритмов встроенные массивы С++ использованы без ошибок?
По каким причинам для списка не подходят алгоритмы сортировки, реализованные как стандартные алгоритмы?
Каковы основные особенности контейнера STL вектор?
В чём заключается архитектурные свойства STL - взаимозаменяемость компонентов и унификация интерфейса?
 //====================== start of sample.cpp ========================== #include <type_traits> class A { public: A(int in = 5); }; int main() { std::true_type my_true; std::false_type my_false; return 0; } //====================== end of sample.cpp ========================== 
Какие утверждения о переменных my_true и my_false верны?
 //====================== start of sample.cpp ========================== template <class Element, unsigned long max_size> class Storage { public: Storage(Element) {} }; template <class Element> class Storage <Element, 0 /* unlimited*/> { public: Storage(Element e) {} }; template <unsigned long max_size> class Storage <int, max_size> { public: Storage(int e) {} }; template <> class Storage<char*, 0> { public: Storage(char* s) {} }; template <> class Storage<char*, 100> { public: Storage(char* s) {} }; int main() { int p1=4; Storage<int, 5> st1(p1); Storage<char*, 100> st2(char* s); Storage<double, 80000> st3(double n); Storage<double, 0> st4(double n); return 0; } //====================== end of sample.cpp ========================== 
Какой из шаблонов Storage в файле sample.cpp не задействован в функции main в файле sample.cpp?
//====================== start of sample.cpp ========================== class Input { public: Input(); ~Input(); virtual void f(); }; class ManualUserDev: public Input { public: ManualUserDev(); virtual ~ManualUserDev(); }; class Keyboard: public Input { public: Keyboard(); ~Keyboard(); }; int main() { Keyboard keyboard; Input& rinp = keyboard; Input* pinp = &:keyboard; ManualUserDev& rmy_mdev = dynamic_cast<ManualUserDev&>(rinp); ManualUserDev* pmy_mdev = dynamic_cast<ManualUserDev*>(pinp); Keyboard& rmy_keyboard = dynamic_cast<Keyboard&>(rinp); Keyboard* pmy_keyboard = dynamic_cast<Keyboard*>(pinp); return 0; }//====================== end of sample.cpp ========================== 
При инициализации какой переменной в файле sample.cpp будет брошено исключение?
//====================== start of sample.cpp ========================== class Input { public: Input(); ~Input(); }; class USBDev { public: ~USBDev(); }; class USBInput: public Input { USBDev m_dev; public: USBInput(): Input() {} ~USBInput(); }; class Device { public: Device(); ~Device(); }; class ManualUserDev: public Device { public: ManualUserDev() : Device() {} ~ManualUserDev(); }; class Key { public: ~Key(); }; class Keyboard: public USBInput, public ManualUserDev { Key* key; public: Keyboard(): ManualUserDev(), Input() {key = new Key();} ~Keyboard() { delete key; } };//====================== end of sample.cpp ========================== 
В каком порядке вызываются деструкторы при удалении объекта Keyboard из файла sample.cpp?
Какие утверждения относительно функции free() верны?
Какие утверждения насчёт "пузырей" в конвейере инструкций ЦП верны?
Почему в объявлении POSIX функции memmove() и memcmp() для параметров не используется ключевое слово restrict, а для memcpy используется?
Какой оптимальный вариант перебора данных для многомерного массива?
У каких классов памяти область видимости ограничена блоком кода?
По какой причине необходимо отдельно рассматривать быстродействие оперативной памяти?
Какие утверждения о директивах препроцессора языка С верны?
Переменные в каких областях памяти инициализируются до входа программы в функцию main()?
Какие утверждения про обобщённые алгоритмы верны?
Какие утверждения про конструктор с параметрами верны?
Какие утверждения о применении и реализации проверки времени компиляции в boost верны?
 //====================== start of sample1.h ========================== struct S_EMPTY {}; typedef S_EMPTY my_empty_str; typedef std::vector<int> my_vector; typedef char[15] my_char15; class B { long jj; public: char _str[6]; private: static char str_4_all[9]; }; typedef B my_B; union mytypes_t { int i; float f; } My; typedef mytypes_t __My; //====================== end of sample1.h ========================== 
Какие из типов, описанных в файле sample1.h (выше), являются классом в широком смысле этого слова?
Каких областей видимости нет в языке С, но есть в С++?
Что влияет на наличие лакун в памяти при описании структуры?
Чем отличаются статические методы класса от нестатических?
Каким показателем согласно модели SQuaRE, оценивается прочность и устойчивость системы, вероятность возникновения сбоев?
Методы и атрибуты базового класса с каким модификатором доступа доступны классам потомкам?
Каким образом может быть объявлена функция, принимающая строку двухмерного или многомерного массива в качестве параметра?
Какие из объектов шаблонов и макросов в рассмотренных библиотеках boost предназначены для предупреждения сборки с некорректными типами?
Какие утверждения про модели качества программ верны?
Какие из приведённых ниже сигнатур операций new и delete, которые могут быть перегружены указаны правильно?
Какие из приведённых ниже действий являются необходимыми при реализации идиомы «подсчёт ссылок»?
Какие особенности использования структур и классов?
Для каких порождающих шаблонов инстанциируемые классы определяются динамически?
Какие объекты появляются и рассматриваются при проектировании?
 //====================== start of sample.cpp ========================== #include <boost/shared_ptr.hpp> #include <boost/scoped_ptr.hpp> #include <boost/weak_ptr.hpp> #include <vector> struct A { virtual ~A(); }; struct B: public A {}; struct C {}; void foo1(boost::scoped_ptr<A> a); void foo2(boost::scoped_ptr<B>& a); void foo3(boost::shared_ptr<C> a); void foo4(boost::scoped_ptr<A>* a); void foo5(std::vector< boost::scoped_ptr<C> >& c); int main(int argc, char* argv[]) { boost::scoped_ptr<A> b1(new A); boost::scoped_ptr<B> b2(new B); boost::scoped_ptr<C> b3(new C); boost::scoped_ptr<A> b4; std::vector< boost::scoped_ptr<C> > v1; v1.push_back(b3); foo1(b1); foo2(b2); foo3(b3.lock()); foo4(&b4); foo5(v1); return 0; } //====================== end of sample.cpp ========================== 
В каких из функциях умный указатель boost::scoped_ptr используется правильно?
Каковы особенности умного указателя boost::intrusive_ptr?
 //====================== start of sample.cpp ========================== #include <boost/variant/variant.hpp> struct A {}; struct B { B(int src); private: B(const B& src); }; struct C { C(int src); private: C(); }; struct D {}; int main(int argc, char* argv[]) { boost::variant<int, A, B, C> myvariant; int x; int* y; A a; B b(x); C c(x); D d; myvariant = x; myvariant = y; myvariant = a; myvariant = b; myvariant = c; myvariant = d; return 0; } //====================== end of sample.cpp ========================== 
Какие объекты можно присвоить объекту myvariant из примера в файле sample.cpp?
Какие утверждения о контейнере boost::circular_buffer верны?
Каким классам итераторов доступны операции записи объекта?
Какие встроенные типы контейнера являются итераторами?
📢 Есть вопросы или нужна помощь? Не знаете, как оформить заказ или оплатить?
👉 Просто нажмите кнопку Написать эксперту — я сразу отвечу, помогу разобраться и оформить всё за вас. 💬
🔥 Быстро. Удобно. Без лишних сложностей!

Характеристики ответов (шпаргалок) к КР

Семестр
Просмотров
0
Качество
Идеальное компьютерное
Количество вопросов
Картинка-подпись
🎓 Поможем сдать всё — тесты, практику, экзамены, курсовые, дипломы, отчёты! Закроем долги под ключ 🔑 Ведём от первой сессии до диплома 🏆 Работаем с Синергией, МЭИ и другими вузами 🤝 Гарантия результата или возврат денег 💰 Пиши! 🚀

Комментарии

Нет комментариев
Стань первым, кто что-нибудь напишет!
Поделитесь ссылкой:
Цена: 490 390 руб.
Расширенная гарантия +3 недели гарантии, +10% цены
Рейтинг автора
5 из 5
Поделитесь ссылкой:
Сопутствующие материалы

Подобрали для Вас услуги

Вы можете использовать полученные ответы для подготовки к экзамену в учебном заведении и других целях, не нарушающих законодательство РФ и устав Вашего учебного заведения.
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7123
Авторов
на СтудИзбе
254
Средний доход
с одного платного файла
Обучение Подробнее