Size: a a a

2021 February 24

ПК

Побитый Кирпич... in supapro.cxx
Alex Green 𓆏
Доброго вечера. Я недавно слышал где-то, что в новых стандартах строку можно передавать в функцию по значению, а не ссылке (как пишут в типичных книгах С++ для новичков). Так как компилятор применит оптимизацию и передадутся просто указатели на строку. Так ли это?
По значению передаются параметры, когда функция хочет владеть параметром
источник

RM

Roy Mustang in supapro.cxx
Вопрос может показаться глупым, но я забыл, как можно выгодно из queue доставать первый элемент, юзать его и помещать снова в очередь, получается, по кругу пускать объект, но без копирования.
Пример ниже правильный же?
struct Test {
   bool OnCreate() {
       return true;
   }
};

Test wtf{};
std::queue<entt::delegate<bool ()>> delegates;
delegates.emplace(entt::connect_arg<&Test::OnCreate>, wtf);

while(true) {
  auto&& delegate = std::move(delegates.front()); delegates.pop();
  if(delegate) {
     HF_MSG("Call delegate return {}", delegate());
  }
  delegates.emplace(std::move(delegate));
}
источник

С

Скрыто in supapro.cxx
Всех приветствую. Есть ли у кого кастомная реализация new\delete с помощью которой можно выделять классы в том числе?
источник

C

Chuvi in supapro.cxx
Скрыто
Всех приветствую. Есть ли у кого кастомная реализация new\delete с помощью которой можно выделять классы в том числе?
А обычная реализация не позволяет выделять классы?
источник

С

Скрыто in supapro.cxx
Chuvi
А обычная реализация не позволяет выделять классы?
нужна кастомная, ибо нужно отказаться от CRT
источник

RM

Roy Mustang in supapro.cxx
Скрыто
нужна кастомная, ибо нужно отказаться от CRT
Читы?)
источник

С

Скрыто in supapro.cxx
Roy Mustang
Читы?)
нет
источник

DP

Denis Paukaev in supapro.cxx
Скрыто
Всех приветствую. Есть ли у кого кастомная реализация new\delete с помощью которой можно выделять классы в том числе?
определи глобальный void* operator new(std::size_t sz) { и дёргай в нём HeapAlloc или что-то подобное из апи твоей ос
источник

NM

Nastya Medveda in supapro.cxx
Добрый вечер, не могу понять логику virtualFunction. Я понимаю что если в Base Class  указать метод как virtual, то будет вызван одноименный метод в derived class при условии использования указателя на базовый класс.  но я не понимаю в каких реальных случаях этот механизм вообще применим и еще не понимаю почему virtual  не применяется по умолчанию.
источник

C

CodeDetector in supapro.cxx
Nastya Medveda
Добрый вечер, не могу понять логику virtualFunction. Я понимаю что если в Base Class  указать метод как virtual, то будет вызван одноименный метод в derived class при условии использования указателя на базовый класс.  но я не понимаю в каких реальных случаях этот механизм вообще применим и еще не понимаю почему virtual  не применяется по умолчанию.
Всё ещё неправильно :( Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
источник

С

Скрыто in supapro.cxx
Denis Paukaev
определи глобальный void* operator new(std::size_t sz) { и дёргай в нём HeapAlloc или что-то подобное из апи твоей ос
получится ли так выделить память под классы с конструкторами и полями?
источник

NM

Nastya Medveda in supapro.cxx
CodeDetector
Всё ещё неправильно :( Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
у меня там нет кода глупый робот
источник

С

Скрыто in supapro.cxx
Или под структуры с полями с типами классов
источник

YK

Your KVXMMU in supapro.cxx
Здравствуйте, такая беда: https://gist.github.com/kvxmmu/3b2e7814976d94288de14668cc6fd6d1

при вызове write_to_stream получаю sigsegv(lldb/gdb не могут понять где это произошло, либо показывают на определение класса), в чем проблема?
источник

DP

Denis Paukaev in supapro.cxx
Скрыто
Или под структуры с полями с типами классов
ну да, почему нет

https://godbolt.org/z/cxbsYT
источник

DP

Denis Paukaev in supapro.cxx
Nastya Medveda
Добрый вечер, не могу понять логику virtualFunction. Я понимаю что если в Base Class  указать метод как virtual, то будет вызван одноименный метод в derived class при условии использования указателя на базовый класс.  но я не понимаю в каких реальных случаях этот механизм вообще применим и еще не понимаю почему virtual  не применяется по умолчанию.
потому, что это не бесплатно
источник

ПК

Побитый Кирпич... in supapro.cxx
Nastya Medveda
Добрый вечер, не могу понять логику virtualFunction. Я понимаю что если в Base Class  указать метод как virtual, то будет вызван одноименный метод в derived class при условии использования указателя на базовый класс.  но я не понимаю в каких реальных случаях этот механизм вообще применим и еще не понимаю почему virtual  не применяется по умолчанию.
Слышала про полиморфизм?
источник

DP

Denis Paukaev in supapro.cxx
широко применяется этот механизм в интерфейсах, когда в классе делают только чисто виртуальные функции, реализацию которых уточнят в наследнике
источник

ПК

Побитый Кирпич... in supapro.cxx
Виртуальные функции это реализация динамического полиморфизма
источник

С

Скрыто in supapro.cxx
эм
источник