Результаты поиска по запросу "c++17"

1 ответ

 Команда работала для Cmake.

от вопрос уже есть ответ здесь: Ошибки связи с использованием элементов <filesystem> в C ++ 17 [/questions/48729328/link-errors-using-filesystem-members-in-c17] 2 ответаУ меня проблема с моим C ++, созданным при ...

1 ответ

 где так легко забыть или пропустить суффикс типа - тогда как в первом выражении проблем нет ...).

ьно простой вопрос, auto x11 {1,2,3,4}; auto x1 = {1,2,3,4}; auto x22 {1.0, 2.25, 3.5}; auto x2 = {1.0, 2.25, 3.5};Насколько я понимаю, здесь не должно быть никакой разницы в отношении= или нет. Тем не менее, используя llvm / clang 6.0.0 (с ...

1 ответ

@geza Это явно. Абстрактная машина не заботится о выравнивании основного HW. Если компилятор говорит, что память не выровнена, то вы получите UB независимо от HW.

ал через стандарт о неприсоединенном доступе, но ничего не нашел (возможно, я был непреднамеренным). Это неопределенное поведение? Определена ли реализация? Поскольку многие современные процессоры поддерживают не выровненный доступ, было бы ...

ТОП публикаций

3 ответа

 Компиляторы поддерживают эту функцию сейчас.

ался поиграть с новыми возможностями параллельной библиотеки, предложенными в стандарте C ++ 17, но не смог заставить его работать. Я попытался скомпилировать с современными версиямиg++ 8.1.1 а такжеclang++-6.0 а также-std=c++17, но ни один, ...

1 ответ

Я совершенно не в духе :) Спасибо за вашу историю!

еялся, чтоstringstream имеет конструктор, который крадет свое начальное содержимое изstring&&, Разве таких межвидовых «конструкторов перемещения» вообще не существует в STL? Если нет, то почему?

1 ответ

Однако, насколько мне известно, в настоящее время нет способа обойти это без изменений кода, если не считать обновления до следующего выпуска Clang, когда бы он ни вышел.

аргумента шаблона в Clang 6 для временных объектов не работает. g ++ 8.1.0 компилирует и запускает пример правильно. Clang 6.0.0 и 6.0.2 обе ошибки в указанной строке с этим сообщением: error: expected unqualified-id Print{1,"foo"s,2}; ...

1 ответ

является constexpr и тривиально копировать конструктивно.

дующем примере я могу получить доступ кconstexpr переменнаяx изнутри лямбдаy без явного захвата. Это невозможно, еслиx не объявлен какconstexpr. Существуют ли специальные правила, которые применяются кconstexpr для захвата? int foo(auto l) { // ...

3 ответа

@Gianni nop означает бездействие. Перемещение не всегда отличается или дешевле, чем копировать. Перемещение - это всего лишь оптимизация или способ передачи права собственности на объекты, которые нельзя копировать.

равильно объявлять методы создания экземпляров при определении класса интерфейса? Абстрактные базовые классы должны иметь виртуальный деструктор по очевидным причинам. Однако затем выдается следующее предупреждение компиляции: «InterfaceClass ...

1 ответ

Хорошая перспектива!

аюсь понять структурированные привязки, представленные в C ++ 17. Объяснение по cppreference [http://en.cppreference.com/w/cpp/language/structured_binding]для меня не очевидно, но похоже cv-auto ref-operator [x, y, z] = ...примерно эквивалентно ...

1 ответ

Ниже приведен полный рабочий пример

вая эти заявления: int a[3] {10,20,30}; std::tuple<int,int,int> b {11,22,33};Я могу использовать объявления структурированной привязки для декодированияa а такжеb: auto [x1,y1,z1] = a; auto [x2,y2,z2] = b;Но еслиx1, y1и т.д. уже существуют, ...