Size: a a a

2021 July 08

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Лол, в С++23 уже убирают поддержку Garbage Collection для core + library

https://en.cppreference.com/w/cpp/compiler_support
источник

AZ

Alexander Zaitsev in supapro.cxx
и правильно делают - оно мертворожденное
источник

AZ

Alexander Zaitsev in supapro.cxx
мне скорее интересно, какая была мотивация это добавлять. Почему бы и нет?)
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
нужно читать…
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
источник

AZ

Alexander Zaitsev in supapro.cxx
хах, одного автора угадал, даже не открывая бумагу
источник

VS

Vlad Serebrennikov in supapro.cxx
boehm?
источник

AZ

Alexander Zaitsev in supapro.cxx
конечно)
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
ну это было бы прикольно переключать флажок поддержки GC
источник

 P

 ‌‌Gleb Pilipets... in supapro.cxx
Удобно было бы переходить из другого языка по типу Java, C#
источник

VS

Vlad Serebrennikov in supapro.cxx
N2310
Unlike other approaches, this makes it possible to garbage-collect objects allocated and manipulated by most legacy libraries. This makes it much easier to convert existing code to a garbage-collected environment. It also means that it can be used, for example, to “repair” legacy code with deficient memory management.

но корнями это все уходит аж в 96 год — N0932 (wg21.link не осилил, пришлось руками искать):
The ARM, "The C++ Programming Language (2nd edition)", and "The Design and Evolution of C++" all mention that automatic garbage collection of C++ is possible, but that an implementation is not required to provide a garbage collector. This is a proposal to make this explicit in the standard and to specify a couple of details of what it means to collect garbage.
источник

C

CodeDetector in supapro.cxx
Оберните код в теги: 3 символа ` до и после кода (в случае одиночной конструкции достаточно 1 ` с обеих сторон). Спасибо!
источник
2021 July 09

D

Danya in supapro.cxx
И сюда добрался...
источник

IZ

Ilia Zviagin in supapro.cxx
Интересно...
А как бы это всё работало с остальным кодом, например,  с Сшным?
источник

N2

N 2 in supapro.cxx
template <typename T>
struct Number : public Evaluable<T> {

 inline const static TypeTag type_tag = TypeTag::Builder<Number<T>>().super(Evaluable<T>::type_tag).build();

 const T value;

 inline explicit Number(T value) : value(std::move(value)) {}

 T Evaluate() const override {
   return value;
 }
};
почему type_tag даже не инициализируется? Причем у обычных классов все норм
источник

D

Danya in supapro.cxx
Все инициализируется, не врите
источник

N2

N 2 in supapro.cxx
нет, я сам был в шоке. Прологал метод build по тайп айди и там Number не встретился, причем если в коде где-то явно этот type_tag использовать то он инициализируется
источник

D

Danya in supapro.cxx
А причем здесь классы? Тут нет классов
источник

N2

N 2 in supapro.cxx
сложно объяснить причем тут это
источник

D

Danya in supapro.cxx
Ваша ошибка в том, что вы считаете, что шаблоны классов должны вести себя так же, как и классы
источник