unicode символы в переменных

140
23 февраля 2019, 07:50

Можно ли как-то в gcc использовать названия переменных с unicode символами? Разрешено ли это стандартом?

Например:

auto π = 3.14159265;
auto α = sin(π / 4);
Answer 1

Судя по тому, что написано в стандарте об идентификаторах (ссылка), символы юникода можно использовать в качестве идентификаторов переменных, за исключением символов следующих диапазонов

U+0300-U+036F, U+1DC0-U+1DFF, U+20D0-U+20FF, U+FE20-U+FE2F

Греческие буквы (диапазон U+0370-U+03FF) не попадают в эти диапазоны, так что теоретически их можно использовать. Однако на английском stackoverflow пишут, что некоторые компиляторы не поддерживают такую опцию.

В gcc 8.2 с ключом -std=c++17 программа с такими идентификаторами не компилируется, в Clang 7.0 с ключом -std=c++17 компилируется нормально.

READ ALSO
К каким объектам можно применять moveToThread

К каким объектам можно применять moveToThread

Допустимо ли применять moveToThread к объекту, созданному на стеке? Например, так:

140
Узнать индекс элемента контейнера

Узнать индекс элемента контейнера

Хочу написать параллельный for_each, но внутри мне нужно знать индекс текущего обрабатываемого элементаКак его узнать без data race?

173
QLayout не изменяет размеры виджета

QLayout не изменяет размеры виджета

При изменении размеров родительского окна, меняется размер только у одного виджетаНеобходимо, чтобы они изменялись одновременно

156
Не запускается Debug при использовании QCameraViewfinder

Не запускается Debug при использовании QCameraViewfinder

Господа! Хочу обратить ваше внимание на следующюю проблемуЕсть небольшой код:

166