Какие из приведённых ниже атрибутов класса являются необходимыми при реализации идиомы «подсчёт ссылок»?
Какие утверждения насчёт реализации идиомы «Конверт/письмо» верны?
<pre> //====================== 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);} }; //====================== end of sample.cpp ========================== </pre> Какие из методов класса ARef из файла sample.cpp являются необходимыми для поддержки идиомы контекстно-зависимой перегрузки операции индексирования агрегата?
Какие из приведённых ниже операторов присвоения для элементов массива double m[8][4] являются правильными?
Какие из приведённых ниже особенностей кода являются неудачными решениями в области кодирования, дизайна и архитектуры?
Какие утверждения относительно идиомы RAII верны?
Какие из приведённых ниже сигнатур операций new и delete, которые могут быть перегружены указаны правильно?
<pre> //====================== start of sample.cpp ========================== template <class Receiver> 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<typename T> typename T::difference_type my_diff( T& v1, T& v2); template<typename T> T my_diff2(T& v1, T& v2); class A { public: A(int in = 5); typedef short difference_type; difference_type operator-(A&); }; 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?