@ProCxx

Страница 2372 из 2477
Alexandr
24.09.2018
17:56:10
Тоесть нельзя мне delete к выделенному кусочку памяти применять?

Но я же навернул туды new(mem) Myclass

после malloc

Или оно так не работает?

Google
Побитый
24.09.2018
17:57:07
Тоесть нельзя мне delete к выделенному кусочку памяти применять?
new - delete. malloc - free. Всё остальное от лукавого

Alexandr
24.09.2018
17:57:54
Ага, вот только проверил

Arseny
24.09.2018
17:58:10
Правильно вызвать деструктор явно. А затем free

Побитый
24.09.2018
17:58:15
Но я же навернул туды new(mem) Myclass
Это ты просто вызвал конструктор. К выделению памяти это не относится

Alexandr
24.09.2018
17:59:05
Правильно вызвать деструктор явно. А затем free
А как в таком случае мне отличить в темплэйтах класс от встроеного типа у которых нет дуструкторов?

деструкторов*

Побитый
24.09.2018
17:59:33
Yarique
24.09.2018
18:00:18
Нет деструкторов? Это какой такой тип?

Побитый
24.09.2018
18:00:46
Yarique
24.09.2018
18:01:27
std::is_pod?

Arseny
24.09.2018
18:01:37
Да не нужно отличать. .~T() сработает

Yarique
24.09.2018
18:03:42
template <class T> void inline destruct(T &&t) noexcept { using wo_ref = std::remove_reference_t<T>; t.~ wo_ref(); }

Alexandr
24.09.2018
18:06:18
@arseny @belgorodsky template<typename T> struct Test { T* var = nullptr; Test() { var = static_cast<T*>( malloc(sizeof(T)) ); var = new (var) T(); } ~Test() { var->~T; free(var); var = nullptr; } };

Google
Alexandr
24.09.2018
18:06:23


Test<int> t;

Yarique
24.09.2018
18:07:22
template <class T> void inline destruct(T &&t) noexcept { using wo_ref = std::remove_reference_t<T>; t.~ wo_ref(); }

Arseny
24.09.2018
18:07:57
Ну а скобочки после T?

Alexandr
24.09.2018
18:08:23
Ну а скобочки после T?
:)))))))))))))))))))))))))))))))))))0

Спасибо

Alexander
24.09.2018
18:57:25
Всем рекомендую доклад Bryce Lelbach про C++ execution model с cppcon 2018.

Максим
24.09.2018
19:05:32
Чем отличается семафор и двоичный семафор в Windows api или они ни чем не отличаются?

Anton
24.09.2018
19:55:02
Это с доклада страуструпа, что сейчас он рассказывает. Про абузинг авто упоминал
сначала добавляют auto чтобы решать проблемы с длинными типами данных типа итераторов и вообще шаблонов (как будто по-другому это не решить), а теперь жалуются что в каждой строчке это auto пихают кек

как будто с самого начала не было ясно, что так и будет

FailsBot
24.09.2018
20:06:34
/dev/urandon достал тапок из обджект-пула и кинул в автора

Yarique
24.09.2018
20:57:55
Ребят, подскажите, пожалуйста. auto sock = std::make_shared<boost::asio::ip::tcp::socket>( ioc, ep.protocol() ); sock-> async_connect( ep, [s= std::move(sock) ](auto && ...args){...} ); это undefined behaviour?

PRoSToC0der
24.09.2018
21:01:22
Чтобы dry ващето
поддерживаю, но всё-таки хочется Concept auto

Valentin
24.09.2018
21:13:16
Нет деструкторов? Это какой такой тип?
сделаю ставку на is_trivially_destructable

если такое есть

Anton
24.09.2018
21:14:41
Чтобы dry ващето
хорошо бы с примерами

Valentin
24.09.2018
21:15:16
https://ru.cppreference.com/w/cpp/types/is_destructible

Aidar
24.09.2018
21:16:07
хорошо бы с примерами
auto foo=static_cast<bar>(foobar);

Google
Anton
24.09.2018
21:16:46
bar foo = (bar)foobar;

короче )

как вариант можно было бы разрешить писать bar foo = foobar;

пусть компилятор там сам разбирается с приведением типов

Evgeniy
24.09.2018
21:19:45
Anton
24.09.2018
21:20:18
чем это отличается от auto foo=static_cast<bar>(foobar); ?

Although static_cast conversions are checked at compile time to prevent obvious incompatibilities, no run-time type check is performed that would prevent a cast between incompatible data types, such as pointers. Also, the result of a static_cast from a pointer of a virtual base class to a pointer of a derived class is undefined.

кароч хуита без гарантий этот static_cast

Страница 2372 из 2477