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

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

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

Какие из объектов шаблонов и макросов в рассмотренных библиотеках boost предоставляют безопасный обобщённый класс хранилище единичных значений любых различных типов?

(Отметьте один правильный вариант ответа.)

Варианты ответа
boost::variant
BOOST_STATIC_ASSERT
boost::any(Верный ответ)
boost::circular_buffer
Похожие вопросы
Какие из объектов шаблонов и макросов в рассмотренных библиотеках boost предоставляют безопасный обобщённый контейнер с возможностью хранения различных типов?
Какие из объектов шаблонов и макросов в рассмотренных библиотеках boost предоставляют STL совместимый контейнер с перезаписью элементов при заполнении?
Какие из объектов шаблонов и макросов в рассмотренных библиотеках boost предназначены для предупреждения сборки с некорректными типами?
Какие основные элементы STL инкапсулируют хранение различных значений и объектов?
<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> Вызовы каких функций выполнены корректно и операции создания их параметров не содержат очевидных проблем?
<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> Вызовы каких функций выполнены корректно и операции создания их параметров не содержат очевидных проблем?
Какие из шаблонов относятся к уровню шаблонов объектно-ориентированного проектирования?
Какая группа шаблонов отвечает за организацию сочленения объектов и классов?
Какой из структурных шаблонов помогает организовать единообразное хранение объектов в древовидных структурах?