База ответов ИНТУИТ

Программирование на С/С++

<<- Назад к вопросам

Какие преимущества даёт использование boost?

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
решены наиболее часто встречающиеся при разработке ПО проблемы(Верный ответ)
компактность полного набора библиотек boost
использование в проекте качественный эффективный код(Верный ответ)
возможность ознакомиться с техниками обобщённого программирования(Верный ответ)
уменьшение времени компиляции проекта
Похожие вопросы
<pre> //====================== start of sample.cpp ========================== #include &lt;boost/shared_ptr.hpp&gt; #include &lt;boost/scoped_ptr.hpp&gt; #include &lt;boost/weak_ptr.hpp&gt; #include &lt;vector&gt; struct A { virtual ~A(); }; struct B: public A {}; struct C {}; void foo1(boost::shared_ptr&lt;A&gt; a); void foo2(boost::weak_ptr&lt;B&gt;&amp; a); void foo3(boost::shared_ptr&lt;C&gt; a); void foo4(boost::scoped_ptr&lt;A&gt;&amp; a); void foo5(std::vector&lt; boost::weak_ptr&lt;C&gt; &gt;&amp; c); int main(int argc, char* argv[]) { boost::shared_ptr&lt;A&gt; a(new A); boost::shared_ptr&lt;B&gt; b(new B); boost::shared_ptr&lt;C&gt; c(new C); boost::weak_ptr&lt;A&gt; b1(a); boost::weak_ptr&lt;B&gt; b2(b); boost::weak_ptr&lt;C&gt; b3(c); std::vector&lt; boost::weak_ptr&lt;C&gt; &gt; v1; v1.push_back(b3); foo1(b2.lock()); foo2(b2); try { boost::shared_ptr&lt;C&gt; c1(c); foo3(c1); } catch(boost::bad_weak_ptr&amp; e) { } foo4(b2.lock()); foo5(v1); return 0; } //====================== end of sample.cpp ========================== </pre> Вызовы каких функций выполнены корректно и операции создания их параметров не содержат очевидных проблем?
Какие преимущества обеспечивает тип boost::variant по сравнению с union?
<pre> //====================== start of sample.cpp ========================== #include &lt;boost/shared_ptr.hpp&gt; #include &lt;boost/scoped_ptr.hpp&gt; #include &lt;boost/weak_ptr.hpp&gt; #include &lt;vector&gt; struct A { virtual ~A(); }; struct B: public A {}; struct C {}; void foo1(boost::scoped_ptr&lt;A&gt; a); void foo2(boost::scoped_ptr&lt;B&gt;&amp; a); void foo3(boost::shared_ptr&lt;C&gt; a); void foo4(boost::scoped_ptr&lt;A&gt;* a); void foo5(std::vector&lt; boost::scoped_ptr&lt;C&gt; &gt;&amp; c); int main(int argc, char* argv[]) { boost::scoped_ptr&lt;A&gt; b1(new A); boost::scoped_ptr&lt;B&gt; b2(new B); boost::scoped_ptr&lt;C&gt; b3(new C); boost::scoped_ptr&lt;A&gt; b4; std::vector&lt; boost::scoped_ptr&lt;C&gt; &gt; v1; v1.push_back(b3); foo1(b1); foo2(b2); foo3(b3.lock()); foo4(&amp;b4); foo5(v1); return 0; } //====================== end of sample.cpp ========================== </pre> В каких из функциях умный указатель boost::scoped_ptr используется правильно?
<pre> //====================== start of sample.cpp ========================== #include &lt;boost/shared_ptr.hpp&gt; #include &lt;boost/weak_ptr.hpp&gt; #include &lt;vector&gt; struct A { virtual ~A(); }; struct B: public A {}; struct C {}; void foo1(boost::shared_ptr&lt;A&gt;&amp; a); void foo2(boost::shared_ptr&lt;A const&gt; a); void foo3(boost::shared_ptr&lt;B&gt;&amp; a); void foo4(boost::shared_ptr&lt;const A&gt; a, boost::shared_ptr&lt;C&gt; c); void foo5(std::vector&lt; boost::shared_ptr&lt;C&gt; &gt;&amp; c); int main(int argc, char* argv[]) { boost::shared_ptr&lt;A&gt; b1(new A); boost::shared_ptr&lt;B&gt; b2(new B); boost::shared_ptr&lt;C&gt; b3(new C); boost::weak_ptr&lt;A&gt; b4(b1); std::vector&lt;boost::shared_ptr&lt;C&gt;&gt; v1; v1.push_back(b3); foo1(b1); foo2(b2); foo3(b3); foo4(b4.lock(), b3); foo5(v1); return 0; } //====================== end of sample.cpp ========================== </pre> Вызовы каких функций выполнены корректно и операции создания их параметров не содержат очевидных проблем?
Какие преимущества даёт инкапсуляция?
Какие возможности даёт использование утилиты pahole?
Какие возможности даёт использование поведенческий шаблон: наблюдатель?
Какие возможности даёт использование поведенческий шаблон: посредник?
Какие возможности даёт использование поведенческий шаблон: итератор?
Какие возможности даёт использование поведенческий шаблон: команда?