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

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

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

Какие из приведённых ниже действий являются необходимыми при реализации идиомы «подсчёт ссылок»?

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

Варианты ответа
увеличение значения счётчика ссылок при копировании объекта и уменьшение при удалении объекта(Верный ответ)
присвоение счётчику ссылок начального значения при создании хранимого объекта(Верный ответ)
создание пула памяти
реализация оператора приведения к типу хранимого объекта
Похожие вопросы
Какие из приведённых ниже атрибутов класса являются необходимыми при реализации идиомы «подсчёт ссылок»?
Какие утверждения насчёт реализации идиомы «Конверт/письмо» верны?
<pre> //====================== start of sample.cpp ========================== class ARef { public: ARef(A &amp;a, int i) : _a(a), _ix(i) {} ARef&amp; operator= (T t) { return *this;} operator T() {return _t;} operator A() {return _a;} A& getA() { return _a;} bool operator == (A&amp; a) {return _a == a;} private: A&amp; _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);} }; //====================== end of sample.cpp ========================== </pre> Какие из методов класса ARef из файла sample.cpp являются необходимыми для поддержки идиомы контекстно-зависимой перегрузки операции индексирования агрегата?
Какие из приведённых ниже операторов присвоения для элементов массива double m[8][4] являются правильными?
Какие из приведённых ниже особенностей кода являются неудачными решениями в области кодирования, дизайна и архитектуры?
Какие утверждения относительно идиомы RAII верны?
Какие из приведённых ниже сигнатур операций new и delete, которые могут быть перегружены указаны правильно?
<pre> //====================== start of sample.cpp ========================== template &lt;class Receiver&gt; class MyCommand: public Command { public: typedef void (Receiver::* Action)(); MyCommand(Receiver r, Action a): _receiver(r), _action(a){} void Execute(); int GetStatus(); private: Action _action; Receiver* _receiver; int _last_error; }; //====================== end of sample.cpp ========================== </pre> Какие атрибуты и методы класса MyCommand являются необходимыми для имплементации шаблона команда в файле sample.cpp?
<pre> //====================== start of sample.cpp ========================== template&lt;typename T&gt; typename T::difference_type my_diff( T&amp; v1, T&amp; v2); template&lt;typename T&gt; T my_diff2(T&amp; v1, T&amp; v2); class A { public: A(int in = 5); typedef short difference_type; difference_type operator-(A&amp;); }; int main() { A i(5); A j(10); my_diff(i,j); int x = 5; int y = 10; my_diff(x,y); return 0; } //====================== end of sample.cpp ========================== </pre> Какие проблемы может решить использование идиомы SFINAE в вышеприведённом коде?
В каких из приведённых ниже выражений нельзя обойтись без указателя this?