@ProCxx

Страница 2309 из 2477
Joy
30.08.2018
02:59:15
@webreh За совет спасибо большое! С enum class разобрался, в моем случае будут проблемы только при переборе всех вариантов, которые я в цикле делал. Либо кастить в int придется, либо вообще избавляться от цикла.

Alex Фэils?︙
30.08.2018
04:19:08
Вложенные в классы имена в С++ содержат огромадный дефект - они не могут быть declared без definition класса, так что если определение класса надо развязывать, у вас и выбора нет, и вопроса нет
Дааа, как же у меня пригорело от этого в первый раз. @antoshkka , мб закинем идею с ослаблением этого ограничения, чтоб класс работал как неймспайс

Nodir
30.08.2018
06:34:00
Привет всем в CODE:BLOCKS 17.12 на консоле не понимает Кириллицу как исправит это ?

Google
Nodir
30.08.2018
06:34:33
7 ка

Serg
30.08.2018
06:35:17
либо поставить линукс, в параметрах проекта С++ 17 либо установить локаль непосредственно в коде (точно не помню, поэтому не скажу)

Nodir
30.08.2018
06:37:11
Ок

Igor
30.08.2018
06:43:17
for(int i=0; i<size; ++i) { ... } if (i==size) // много лет такая запись была допустима, но потом область действия переменной цикла изменилась Пардон, это когда такие чудеса существовали под луной? В промежутке между созданием плюсов Бьярне, и стандартом 98?

Константин Иванович
30.08.2018
06:45:01
Я с этим сталкивался. Когда надо было с VS6 переходить на VS2003/2005. Много кода тогда пришлось переписывать

Igor
30.08.2018
07:10:55
это были тёмные времена, все трактовали спеку языка по-своему и как умели... ясно, спс

Pavel
30.08.2018
07:13:01
это были тёмные времена, все трактовали спеку языка по-своему и как умели... ясно, спс
Стараются понимать одинаково, вон студия уже признала что не все из 98++ поддерживает и в минорном обновлении заменила по дефолту значение дефайна __cplusplus

Igor
30.08.2018
07:14:28
да я не про сейчас, я про старые недобрые, когда оказывается счётчик фора был виден ещё и в течение одного оператора за пределами скоупа цикла

Alex Фэils?︙
30.08.2018
07:14:50
не, он был виден до конца внешней области видимости

Igor
30.08.2018
07:15:23
лол

Google
Alex Фэils?︙
30.08.2018
07:16:00
ну, да, т.к. была неоднозначность в спеке, они сделали для инициализатора фора такую же область видимости, как и та, в которой находится заголовок фора)

Daniel
30.08.2018
09:13:54
Ого

Это даже не арабский бот

Matwey
30.08.2018
09:19:30
Iranian? Do you like Iggy Pop?

Ioann V
30.08.2018
09:27:13
Ребят, я не супер линуксоид. Но такой вопрос. У винды есть определённые Api системы в неё встроенные, используя которые можно начать писать что - либо. Возьмём звук. У винды есть WSAPI. Который позволяет драйверу обмениваться аудио потоками с клиентом. А теперь возьмём Линукс.

В нем, есть ли что то подобное внутри коробки, чтобы был некий низкоуровневый Апи для работы со звуком?

Igor
30.08.2018
09:27:56
OpenAL?

Ioann V
30.08.2018
09:28:36
Я знаю о openAl. Так вот я свой и хочу написать. Ты мне пишешь уже о готовом решении.

А мне нужно решение разобранное, чтобы работать с Api Linux и подниматься выше.

Openal слишком не интересен для меня :)

Alexander
30.08.2018
09:29:45
openAL*

openai - это другое

Ioann V
30.08.2018
09:30:24
Да я уж поправил. Это т9 надо спасибки сказать. Тем не менее, вопрос в силе.

Max
30.08.2018
09:30:27
Ioann V
30.08.2018
09:31:03
А она сразу в коробке идёт, или её надо инстоллить?

Konstantin
30.08.2018
09:31:05
там этих апи для работы со звуком штук 10 всяких - oss, alsa, pulse, nas, esd,

Ioann V
30.08.2018
09:32:35
Да я собсно про неё читал да. Просто у меня желание работать с тем что 100% идёт в коробке. Вот как в Win. В ней есть этот Апи и есть. А в Линукс видимо такое невозможно?

Max
30.08.2018
09:33:55
там этих апи для работы со звуком штук 10 всяких - oss, alsa, pulse, nas, esd,
oss скорее мертв, чем жив, alsa давно его вытеснила, nas - сетевая подсистема. Pulse работает поверх alsa, oss или nas.

Google
??▶️?? Yury
30.08.2018
09:35:13
Да я собсно про неё читал да. Просто у меня желание работать с тем что 100% идёт в коробке. Вот как в Win. В ней есть этот Апи и есть. А в Линукс видимо такое невозможно?
там с этими аудио бэкэндами ад и израиль... возможно проще будет взять какой SDL который теоретически может работать с аудиобэкэндами избавляя тебя от головной боли. Но тут от задачи зависит конечно.

Ioann V
30.08.2018
09:35:22
как ты представляешь себе аудио из коробки, скажем, на тостере?
Тут я не спорю. Что есть такое дело. Но как тогда пишут всякие эти sdl2 и т.п? Они выходит идут поверх существующего интерфейса.

Konstantin
30.08.2018
09:35:52
sdl2 использует все что я вышеперечислил и еще какие-то апи

Matwey
30.08.2018
09:36:12
@Ioann_V есть API ядра, их несколько. ALSA и OSS, который вроде обещают выкинуть

Konstantin
30.08.2018
09:36:23
по-моему еще asound, jack, чето еще было

Matwey
30.08.2018
09:36:27
Есть еще звуковые серверы

jack, pulseaudio, arts, ...

Их зиллиарды

Max
30.08.2018
09:36:45
Konstantin
30.08.2018
09:36:53
точно, попутал с arts

Matwey
30.08.2018
09:37:05
Ну знаю точно зачем они вообще нужны

Ioann V
30.08.2018
09:37:07
Окей. Спасибо. Ребят, простите за такой переполох. Кстати, именно что с Jack работал в свое время.

Matwey
30.08.2018
09:37:38
Но звуковые серверы сами ходят в ядро естественно. А пользовательские приложения хз куда должны ходить

Я боюсь что должны уметь всюду ходить по-хорошему

Max
30.08.2018
09:38:14
Тут я не спорю. Что есть такое дело. Но как тогда пишут всякие эти sdl2 и т.п? Они выходит идут поверх существующего интерфейса.
в общем, для ширпотреба у тебя выбор простой: напрямую с alsa (самая популярная), либо с pulse (более высокоуровневый, можно прозрачно работать и с alsa, и с аудиосерверами).

Matwey
30.08.2018
09:40:37
Hello, I am Lennar Pottering and I pronoune "Pulse Audio" like Psshhhhhhhhhhhhh

Шутка, для старых пользователей Pulse Audio

Google
Evgeny
30.08.2018
10:01:23
Hello, I am Lennar Pottering and I pronoune "Pulse Audio" like Psshhhhhhhhhhhhh
import Psshhhhhhhhhhhh as PulseAudio (вспоминая Python)

Joy
30.08.2018
10:29:10
парню нужно /dev/snd/....

что еще может быть более низкоуровневым, чем работать с устройствами звука напрямую

Joy
30.08.2018
10:33:57
ну да, писать прошивку для DSP

Aidar
30.08.2018
10:34:48
что еще может быть более низкоуровневым, чем работать с устройствами звука напрямую
работать с руками робота которые играют на музыкальных инструментах

Joy
30.08.2018
10:37:00
так далеко можно зайти...

Alex Фэils?︙
30.08.2018
11:06:17
Да я уж поправил. Это т9 надо спасибки сказать. Тем не менее, вопрос в силе.
тебе тогда надо сделать фасад в своем апи для по меньшей мере трех вещей: ALSA, PulseAudio, JACK

Да я собсно про неё читал да. Просто у меня желание работать с тем что 100% идёт в коробке. Вот как в Win. В ней есть этот Апи и есть. А в Линукс видимо такое невозможно?
смотри в Linux Standard Base, какое там звуковое апи прописано; и лучше на него тогда равняться. И тогда если дистр совместим с Linux Standard Base, то должно работать

Eugene
30.08.2018
11:07:35
паять схемы
Собирать радиодетали)

Alex Фэils?︙
30.08.2018
11:08:35
а дистры в большинстве своём разве не наплевали на LSB?
ну, деб, ебанта и федора вроде умеют ж

ну, деб, ебанта и федора вроде умеют ж
*ой, убунта, опечатка по фрейду, лол

Konstantin
30.08.2018
11:10:34
там asound прописан http://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Common/LSB-Common/requirements.html#TBL-DESKTOPLIB

Matwey
30.08.2018
11:14:27
Antony
30.08.2018
11:35:28
Google
Alex Фэils?︙
30.08.2018
11:36:49
Там могут быть проблемы с ABI. Надо убедиться, что class и struct одинаково мангляться на VisualStudio.
по меньшей мере для forward-декларируемых разницы никакой нет в VS. только ругается варном на тебя, что был класс, стал стракт

Antony
30.08.2018
11:40:12
Надо поисследовать и запилить предложение. Должен предупредить - у меня закончились свободные руки, так что либо придется активнее самому вкладываться, либо напрягать другого Антона) Например Бикинеева Антона

Alex Фэils?︙
30.08.2018
11:40:32
я напишу тогда бумагу

Spoonson
30.08.2018
11:47:51
я так понимаю тут просто про forward declaration nested class: class Class::NestedClass;

я бы и неймспейсы внутри классов разрешил

Andrey
30.08.2018
11:50:24
я так понимаю тут просто про forward declaration nested class: class Class::NestedClass;
а затем разрешить lookup'ать внутри incomplete класса Class?

Spoonson
30.08.2018
11:52:20
а затем разрешить lookup'ать внутри incomplete класса Class?
ну например хочется указатель на nested класс, или подружиться с ним

Andrey
30.08.2018
11:58:27
ну например хочется указатель на nested класс, или подружиться с ним
я понимаю мотивацию, но если lookup внутри incomplete класса перестанет быть ошибкой, это сломает существующий код. а придумывать специальные правила lookup'а то еще развлечение

Spoonson
30.08.2018
12:00:30
я понимаю мотивацию, но если lookup внутри incomplete класса перестанет быть ошибкой, это сломает существующий код. а придумывать специальные правила lookup'а то еще развлечение
я не совсем понимаю как это сломает существующий код. Но это не должно быть лукапом, это должно быть как с неймспейсом - мы же можем forward declare клас в неймспейсе, вот так и тут только с классом, т.е. просто декларим заранее в другом месте.

Andrey
30.08.2018
12:03:23
я не совсем понимаю как это сломает существующий код. Но это не должно быть лукапом, это должно быть как с неймспейсом - мы же можем forward declare клас в неймспейсе, вот так и тут только с классом, т.е. просто декларим заранее в другом месте.
хорошо, задекларировали но мы же потом захотим к нему обращаться, иначе зачем это все? class Class; class Class::NestedClass; template<typename = Class::NestedClass /*вот тут у нас lookup имени NestedClass внутри incomplete-класса Class*/> void foo();

Spoonson
30.08.2018
12:04:55
да, теперь я понял о чем речь. Видимо придется разрешить до какой-то степени если это делать. А как это принципиально сломает код?

Andrey
30.08.2018
12:08:55
да, теперь я понял о чем речь. Видимо придется разрешить до какой-то степени если это делать. А как это принципиально сломает код?
template<bool> struct enable_if; template<> struct enable_if<true> { using type = void; }; template<typename T, typename = typename enable_if<std::is_trivial_v<T>>::type> void foo(T); Это работает за счет того, что lookup внутри incomplete класса enable_if<false> это SFINAE ошибка.

Alex Фэils?︙
30.08.2018
12:09:48
ну, если имени нету в enable_if, и декларации вложенной нет, то и вот сфинае

Spoonson
30.08.2018
12:10:21
да, ведь есть вполне сфинае, которые определяет есть ли метод в классе

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