Size: a a a

2020 November 12

NN

NO Name in pro.cxx
Да про -03 -march=native я знаю, gcc или clang
источник

CD

Constantine Drozdov in pro.cxx
NO Name
Подскажите пожалуйста, какую доку почитать или какие флаги глянуть, мне надо оптимизировать выполнение программы по времени выполнения, с помощью флагов компиляции, программа делает быстрое преобразование Фурье?
fp model
источник

CD

Constantine Drozdov in pro.cxx
правда не очень понятно, что вы там хотите добиться
источник

AD

Alexander Dudin in pro.cxx
NO Name
Подскажите пожалуйста, какую доку почитать или какие флаги глянуть, мне надо оптимизировать выполнение программы по времени выполнения, с помощью флагов компиляции, программа делает быстрое преобразование Фурье?
Тут лучше использовать специальные библиотеки, например, Intel IPP. Ключи компиляции много не дадут.
источник

ID

In Dev in pro.cxx
Посоветуйте автоформаттер кода с возможностью включения только определенных опций для форматирования.
Например, я хочу оставлять пользовательские отступы в случае:

// for both
int abc = 10;
int a   = 20;
// and
int abc = 10;
int a = 20;

Смотрел на clang-format, но он, как оказалось, форматирует по всем своим настройкам и не применять их все сразу нельзя.
источник

D

Danya in pro.cxx
In Dev
Посоветуйте автоформаттер кода с возможностью включения только определенных опций для форматирования.
Например, я хочу оставлять пользовательские отступы в случае:

// for both
int abc = 10;
int a   = 20;
// and
int abc = 10;
int a = 20;

Смотрел на clang-format, но он, как оказалось, форматирует по всем своим настройкам и не применять их все сразу нельзя.
// clang-format off
your code not to format
// clang-format on
источник

ID

In Dev in pro.cxx
Такое себе решение, если честно
источник

K

Konstantin in pro.cxx
ты хочешь включить только какие-то отдельные виды форматирования, а остальные выключить?
источник

ID

In Dev in pro.cxx
Konstantin
ты хочешь включить только какие-то отдельные виды форматирования, а остальные выключить?
Верно, хочу форматировать только то, что явно указал в конфиге/правилах
источник

D

Dmitriy in pro.cxx
In Dev
Верно, хочу форматировать только то, что явно указал в конфиге/правилах
Разве там нет возможности явно отключить часть пунктов?
источник

ID

In Dev in pro.cxx
Dmitriy
Разве там нет возможности явно отключить часть пунктов?
Как оказалось нет, можно только в коде указать комментарием, что область нельзя форматировать.
Для опций как правило есть true/false, но нет disabled. И по умолчанию у всех опций есть значения
источник

ID

In Dev in pro.cxx
Находил вчера пост почему именно так (кажется, дело в архитектуре), но лень сейчас искать
источник

ID

In Dev in pro.cxx
А собственно вот оно: https://stackoverflow.com/a/32191189
источник

DV

Denis Vorkozhokov in pro.cxx
Andrei K
По-моему ты просто попадаешь на пункт
T has a member (without a default member initializer) (since C++11) which has a deleted default constructor, or its default constructor is ambiguous or inaccessible from this constructor.
Так что MSVC не прав.
Остаётся вопрос, почему у юниона будет deleted constructor.
Даже у именованного: https://godbolt.org/z/8jKW8e (опять MSVC компилит)

Там же на странице про дефолтные конструкторы есть такое:
T is a union with at least one variant member with non-trivial default constructor, and no variant member of T has a default member initializer.

На странице про юнионы такое:
If a union contains a non-static data member with a non-trivial default constructor, the default constructor of the union is deleted by default unless a variant member of the union has a default member initializer
И вот в первом пункте есть >no variant member, а во втором звучит так, будто именно тот, который non-trivial, должен иметь дефолт инициализацию
источник

CD

Constantine Drozdov in pro.cxx
Denis Vorkozhokov
Остаётся вопрос, почему у юниона будет deleted constructor.
Даже у именованного: https://godbolt.org/z/8jKW8e (опять MSVC компилит)

Там же на странице про дефолтные конструкторы есть такое:
T is a union with at least one variant member with non-trivial default constructor, and no variant member of T has a default member initializer.

На странице про юнионы такое:
If a union contains a non-static data member with a non-trivial default constructor, the default constructor of the union is deleted by default unless a variant member of the union has a default member initializer
И вот в первом пункте есть >no variant member, а во втором звучит так, будто именно тот, который non-trivial, должен иметь дефолт инициализацию
https://eel.is/c++draft/class.ctor#class.default.ctor-2.7
A defaulted default constructor for class X is defined as deleted if: 
  any potentially constructed subobject, except for a non-static data member with a brace-or-equal-initializer, has class type M (or array thereof) and either M has no default constructor


https://eel.is/c++draft/class#special-7
For a class, its non-static data members, its non-virtual direct base classes, and, if the class is not abstract ([class.abstract]), its virtual base classes are called its potentially constructed subobjects.


а value безусловно является non-static data member для U
источник

DV

Denis Vorkozhokov in pro.cxx
Constantine Drozdov
https://eel.is/c++draft/class.ctor#class.default.ctor-2.7
A defaulted default constructor for class X is defined as deleted if: 
  any potentially constructed subobject, except for a non-static data member with a brace-or-equal-initializer, has class type M (or array thereof) and either M has no default constructor


https://eel.is/c++draft/class#special-7
For a class, its non-static data members, its non-virtual direct base classes, and, if the class is not abstract ([class.abstract]), its virtual base classes are called its potentially constructed subobjects.


а value безусловно является non-static data member для U
Ок, с дефолтным нетривиальным конструктором для value то же самое происходит
https://godbolt.org/z/qcdzzq
источник

CD

Constantine Drozdov in pro.cxx
Denis Vorkozhokov
Ок, с дефолтным нетривиальным конструктором для value то же самое происходит
https://godbolt.org/z/qcdzzq
а вот это похоже на багу clang
источник

ЕБ

Евгений Бубнов... in pro.cxx
Здравствуйте, можете помочь с написанием одной игры на с++? Написать программу играющую в 5 ПОЛЕЙ
источник

ЕБ

Евгений Бубнов... in pro.cxx
Поле n ¿ n клеток с четырёх сторон окружено такими же полями-лепестками. Играют
два игрока. Вначале шашки одного игрока заполняют один лепесток, другого соседний. Игроки
ходят по очереди. Возможные ходы.
1) Переставить свою клетку на соседнюю клетку.
2) Переставить свою шашку через соседнюю клетку, если та занята другой шашкой. За
один ход можно последовательно перешагнуть через несколько шашек.
Выигрывает тот, кто быстрее переставит все свои шашки на противоположный лепесток.
источник

ID

In Dev in pro.cxx
Евгений Бубнов
Поле n ¿ n клеток с четырёх сторон окружено такими же полями-лепестками. Играют
два игрока. Вначале шашки одного игрока заполняют один лепесток, другого соседний. Игроки
ходят по очереди. Возможные ходы.
1) Переставить свою клетку на соседнюю клетку.
2) Переставить свою шашку через соседнюю клетку, если та занята другой шашкой. За
один ход можно последовательно перешагнуть через несколько шашек.
Выигрывает тот, кто быстрее переставит все свои шашки на противоположный лепесток.
В чем вопрос?
источник