Size: a a a

2020 May 15

R

Rasha in pro.cxx
точней эта
источник

R

Rasha in pro.cxx
источник

v

vehlwn in pro.cxx
Chiveson
template <typename T>
class Base {
   virtual T foo() = 0;
};

template <typename T>
class DerivedOne : Base<T> {
   T foo() override {
       //...
       return T{};
   }
};

template <typename T>
class DerivedTwo : Base<T> {
   T foo() override {
       //...other
       return T{};
   }
};

Добной ночи, такой подход является плохим дизайном?  Base интрфейст, который потом возвращается из фабрики. Смущает virtual в шаблоне
А оверраид тут сработает? Члены зависимого от шаблона родителя же не ищутся при обычном неквалифицированном поиске?
источник

C

Chiveson in pro.cxx
vehlwn
А оверраид тут сработает? Члены зависимого от шаблона родителя же не ищутся при обычном неквалифицированном поиске?
https://onlinegdb.com/ByQ43VicU

интересные one one  в конце
источник

v

vehlwn in pro.cxx
Ты вызвал оператор равно. Ссылки можно инициализировать только одновременно с декларацией.
источник

v

vehlwn in pro.cxx
vehlwn
Ты вызвал оператор равно. Ссылки можно инициализировать только одновременно с декларацией.
Потому что ссылки ненастоящие объекты.
источник

C

Chiveson in pro.cxx
vehlwn
Ты вызвал оператор равно. Ссылки можно инициализировать только одновременно с декларацией.
точно) ну тогда, похоже работает override
источник

NI

Nikita Ivanov in pro.cxx
угадайте в че компилится int* plak(int& val) {return &val;}
источник

A

Alex in pro.cxx
lea? mov? ничто?
источник

v

vehlwn in pro.cxx
Nikita Ivanov
угадайте в че компилится int* plak(int& val) {return &val;}
В возврат указателя на объект, к которому привязана ссылка.
источник

NI

Nikita Ivanov in pro.cxx
нет ты не понял
источник

NI

Nikita Ivanov in pro.cxx
поставлю по другому
источник

NI

Nikita Ivanov in pro.cxx
int* plak(int& val) {return &val;}
int* fak(int* val) {return val;}
источник

NI

Nikita Ivanov in pro.cxx
во что скомпилятся эти 2 функции
источник

A

Alex in pro.cxx
в каком смысле во что?
источник

v

vehlwn in pro.cxx
Nikita Ivanov
int* plak(int& val) {return &val;}
int* fak(int* val) {return val;}
Они возвращают одно и тоже. В чем прикол?
источник

NI

Nikita Ivanov in pro.cxx
а в какой ассемблер компилятся?)
источник

v

vehlwn in pro.cxx
Nikita Ivanov
а в какой ассемблер компилятся?)
Сервис дизассемблера пока недоступен в моей голове.
источник

NI

Nikita Ivanov in pro.cxx
фу
источник

C

Chiveson in pro.cxx
подсмотрел, в одно и тоже
источник