Size: a a a

2020 October 24

VS

Vlad Serebrennikov in pro.cxx
Dmitry Sokolov
Там же написано
Once a destructor is invoked for an object, the object's lifetime ends; the behavior is undefined if the destructor is invoked for an object whose lifetime has ended ([basic.life]).
А если оно UB, есть вероятность что вторичный вызов может быть распознан компилятором как UB, а значит он такую ветку может например посчитать вообще unreachable.
источник

АР

Андрей Руссков... in pro.cxx
Constantine Drozdov
Тут смотри какое дело. При кажущейся похожести подобной структуры это немного не концепты, а трейты (что характерно, можно добиться эффекта через специализацию шаблона). Я не помню терминов, но есть разница между подходом "сущность определяется содержимым" (как struct в C) и "сущность определяется именем" (как struct в С++). Концепты это первое, и это само по себе кажется очень важным - концепт это не более, чем соглашение вот этот набор свойств называть вот так, в которое при помощи tag-ов дописаны свойства, которые в текущий момент не могут быть записаны в языке как утверждения, после чего концепт не может страдать архитектурными ошибками вида "в этом трейте требуется лишнее" - концепт это только имя.
да, знаю. Но иногда хочется именно трейт.
источник

АР

Андрей Руссков... in pro.cxx
Constantine Drozdov
ну там в духе
namespace user {
  struct T{};
  struct T_trait { using type = T; }
  T_trait decltrait(T const&); //тело не нужно
  struct T_addition_trait : T_trait { constexpr static bool is_commutative = true; };
  T operator + (T const& lhs, T const& rhs) {}
  T_addition_trait operator + (T_trait, T_trait); //тело не нужно
}

и написать что (decltrait(a) + decltrait(b)).is_commutative
а теперь то же самое с интом )
источник

yp

yield programmer in pro.cxx
Всем привет ,почему то не создается папка в c++ (так то в qt пишу ) ,вот способ который нашел в сети :
#include<dir.h>

mkdir("абвг");
источник

yp

yield programmer in pro.cxx
но у меня подчеркивается  #include<dir.h> красным  ,есть еще способы создать папку в c++?
источник

T

The This in pro.cxx
yield programmer
но у меня подчеркивается  #include<dir.h> красным  ,есть еще способы создать папку в c++?
А dir.h то есть у тебя?
источник

yp

yield programmer in pro.cxx
а он не идет в стандартных библиотеках ?
источник

T

The This in pro.cxx
yield programmer
а он не идет в стандартных библиотеках ?
Нет
источник

yp

yield programmer in pro.cxx
а ,ок
источник

Д

Дмитрий in pro.cxx
yield programmer
но у меня подчеркивается  #include<dir.h> красным  ,есть еще способы создать папку в c++?
std filesystem
источник

ПК

Побитый Кирпич... in pro.cxx
yield programmer
Всем привет ,почему то не создается папка в c++ (так то в qt пишу ) ,вот способ который нашел в сети :
#include<dir.h>

mkdir("абвг");
В Qt есть свои библиотеки для работы с ФС
источник

ПК

Побитый Кирпич... in pro.cxx
То что ты пытаешься сделать это сишная (ещё и не стандартная) дичь, а не С++
источник

yp

yield programmer in pro.cxx
Понял
источник

DS

Dmitry Sokolov in pro.cxx
Почему используют bzero и bcopy вместо присваивания?
источник

IL

Ignat Loskutov in pro.cxx
POSIX.1-2008 removes the specification of bzero().
POSIX.1-2008 removes the specification of bcopy().
источник

DS

Dmitry Sokolov in pro.cxx
Код был в статье 2020 года 😂
источник

AF

Aidar Fattakhov in pro.cxx
Артём Колпаков
Но что насчет trivial destructible?
ну тут про него ничего нет, значит этот параграф к нему не относится
источник

AF

Aidar Fattakhov in pro.cxx
не стоит додумывать что можно
источник

AF

Aidar Fattakhov in pro.cxx
Артём Колпаков
В дополнение, вот этот пункт http://eel.is/c++draft/basic.memobj#basic.life-9 так же косвенно сообщает, что повторный вызов деструктора тривиально удаляемого типа допустим
нет, тут так же, не стоит додумывать
источник

IZ

Ilia Zviagin in pro.cxx
Dmitry Sokolov
Почему используют bzero и bcopy вместо присваивания?
Это совсем не вместо присваивания.
источник