@ProCxx

Страница 2218 из 2477
Pavel
20.07.2018
16:05:43
А, точно. Не привык к такому коду

Mikhail Voronov
20.07.2018
16:06:00
по идее, дефолтный конструктор Bar должен быть удалён, т.к. у Foo его нет

Stanislav
20.07.2018
16:06:07
да дописать using Foo::Foo; и все

Google
Alexey
20.07.2018
16:06:53
да дописать using Foo::Foo; и все
куда дописать? код в студию!

Stanislav
20.07.2018
16:07:16
struct Bar : Foo { using Foo::Foo; };

Mikhail Voronov
20.07.2018
16:08:09
а что это даст?

Stanislav
20.07.2018
16:08:41
https://wandbox.org/permlink/SCCPy48LglvcMNcl

Igor
20.07.2018
16:08:57
это автоматически позволит конструировать Bar с помощью тех же параметров что и Foo

Alexey
20.07.2018
16:09:48
А! Во, спасибо.

Это же в с++11 появилось?

Stanislav
20.07.2018
16:10:44
https://en.cppreference.com/w/cpp/language/using_declaration#Inheriting_constructors

Ilia
20.07.2018
16:12:09
Парни, не знаете, не появилось ли хорошей универсальной функии возведения в квадрат ? Не любую степень, а именно квадрат?

Igor
20.07.2018
16:15:05
Теперь когда ты об этом спросил, мне тоже стало интеречно, бывает ли что-то лучшее чем a*a ?

Mikhail Voronov
20.07.2018
16:15:29
ну всякие быстрые умножения за nlogn разве что

Google
Ilia
20.07.2018
16:21:33
Теперь когда ты об этом спросил, мне тоже стало интеречно, бывает ли что-то лучшее чем a*a ?
Суть у меня просто в читаемости. Там охрененная формула в квадрате, соответственно эти аааааааааааааааааааааа повторяються два раза

Неудобно читать. Вообще не соображаешь что это.

Dmitry
20.07.2018
16:24:55
Заведи локальную переменную с квадратом, делов-то

Pavel
20.07.2018
16:25:41
Ну так как ты описал точно не вариант, так как возводимое в квадрат еще и считаться будет дважды. Вот да, Dmitry S опередил.

Ilia
20.07.2018
16:26:37
Заведи локальную переменную с квадратом, делов-то
Нафига, я их так долго выкидывал...

Pavel
20.07.2018
16:27:03
Зачем выкидывал?

Ilia
20.07.2018
16:27:25
Каждая промежуточная переменная ухудшает читаемость кода

Зачем выкидывал?
Потому что эту хрень невозможно было вообще прочитать и понять!

Теперь можно.

Когда простыня на три экрана сворачивается в 20 строк, оно как-то лучше сразу

Ладно я понял, функции нет, надо написать

Pavel
20.07.2018
16:30:09
Каждая промежуточная переменная ухудшает читаемость кода
Смелое заявление. Смотря что за код конечно, но зачастую промежуточные переменные только улучшают читаемость. Если их называть логично.

Temur
20.07.2018
16:30:23
Парни, не знаете, не появилось ли хорошей универсальной функии возведения в квадрат ? Не любую степень, а именно квадрат?
Интересно стало, почитал. Именно в квадрат вроде нет, есть быстрое умножение вообще, но оно используется только при огромных числах, так что смысла в этом нет я считаю.

Pavel
20.07.2018
16:31:27
Когда простыня на три экрана сворачивается в 20 строк, оно как-то лучше сразу
Можно ещё в одну строку написать, лучше ли будет. Тут вполне возможно, что нужно было разделить на методы. Но это только предположение.

Matwey
20.07.2018
16:31:53
А в бустах нигде не завалялся какой-нибудь pow<2?x) ?

Что-то такое должно быть

Vladislav
20.07.2018
16:34:02
for(int i=0;i<a;i++) result*=a;
фейл с отрицательными

Aidar
20.07.2018
16:34:24
фейл с отрицательными
фейл с постановкой задачи

Vladislav
20.07.2018
16:34:51
фейл с постановкой задачи
типичная отговорка, да

Google
Ilia
20.07.2018
16:36:01
for(int i=0;i<a;i++) result*=a;
Это же умножение а не возведение в степень...

Matwey
20.07.2018
16:37:01
Вообще мысль инетерсная

Срочно нужно в стандарт

operator**

как в питоне

Что за дела?

Только так просто не внесешь такой оператор

Matwey
20.07.2018
16:38:37
Потому-что возведение в известную степень и в неизвестную нужно разному очевидно делать

Aidar
20.07.2018
16:38:45
хотябы pow для целых

но там был подвох какойто

какой уже не помню

Matwey
20.07.2018
16:39:02
Если степень константа времени компиляции, то функция должна быть заоптимизирована на этапе компиляции

А иначе не нужна такая функция, придется писать все-равно x*x*x

Ilia
20.07.2018
16:49:46
Только так просто не внесешь такой оператор
Конечно, тебя бот раньше 100 раз выкинет!

Matwey
20.07.2018
16:52:03
Конечно, тебя бот раньше 100 раз выкинет!
А чего он такой агрессивный?

Ilia
20.07.2018
16:53:07
Да вот ....

Раньше ленивый был, его уволили, этот агрессивный...

Форвардить нельзя, сразу банить будет

Google
Matwey
20.07.2018
16:56:22
Бота форвардить?

Или в чат форвардить?

Ilia
20.07.2018
16:57:42
В чат нельзя форвардить сообщения.

Matwey
20.07.2018
16:58:00
Совсем не очевидно, хорошо хоть предупредили

Evgeniy
20.07.2018
17:10:47
однострочники топ читаемость

Alexey
20.07.2018
17:11:56
Александр
20.07.2018
18:32:16
...Продолжаю развивать свою либу для Software Transactional Memory. Пример с обедающими философами мало убедителен, поэтому я решил проапдейтить свой давний проект Amber. Это игра, в которой человек может ходить по отражениям, меняя параметры вселенных. Отлично подходит для демонстрации concurrency. Вот какая модель у меня получилась на данный момент: https://github.com/graninas/Amber/blob/3f8dc7d471c0bbf827da223ebceb2cc4e77e0856/src/amberTest/tst_ambertest.cpp#L208 Сейчас можно задавать сложно устроенные параметры миров и есть несколько тестовых транзакций над моделью. 2 августа мы проводим митап по ФП, буду там рассказывать об STM. Своего рода продолжение доклада с C++ Russia 2018.

Aidar
20.07.2018
18:42:21
почему не операторы перегруженные?

Александр
20.07.2018
18:43:09
Ммм?

Там очень, _очень_ много неэффективностей, которые я собираюсь устранять за этот подход. Как раз эти транзакции подходят хорошо, чтобы бенчмарки гонять. Но, конечно, качество уровня библиотек из boost мне не достичь, по нескольким причинам: мало времени; маловато знаний

Aidar
20.07.2018
18:52:34
а зачем айдишники?

Александр
20.07.2018
18:53:52
а зачем айдишники?
TVar чтобы можно было отличать один от другого. В планах - заменить на целочисленные, будет гораздо лучше.

Александр
20.07.2018
18:56:29
зачем? параллелить в одном контексте?
В рантайме я храню значения, связанные с TVar, во внутренних структурах. Нужно уметь доставать эти данные. TVar являются "представителями", но сами данных не несут. Их можно копировать, это дешево. А TVarId как раз указывает на то, где брать данные. Вопрос про "параллелить" не очень понял.

Kirill
20.07.2018
19:43:43
Ребят, если есть желание покопаться в ppc64 и покодить на плюсах, в каких опенсурс проектах можно покопаться?

Kirill
20.07.2018
19:45:43
IBM доплачивает опенсорс-разработчикам за это
Я пока далеко не профи, что-бы мне доплачивали)))

Просто хочется поразбираться и покопаться в этом деле. Даже машинку на POWER 8 раздобыл для этих целей)

Matwey
20.07.2018
19:46:09
https://www.bountysource.com/?search=Power8

Google
Kirill
20.07.2018
19:47:23
Matwey
20.07.2018
19:48:00
Второй вариант такой. Открой матрицу сборки любого дистрибутива, и посмотри сборка чего сломана под ppc64

И выбери там себе по душе

https://build.opensuse.org/project/monitor/openSUSE:Factory:PowerPC?arch_ppc64=1&defaults=0&failed=1&repo_standard=1

Kirill
20.07.2018
19:50:45
Спасибо)

Stanislav
20.07.2018
21:18:10
парни, а есть какая нибудь адекватная реализация array_view/span для С++14/17 без бустов и gsl

Алексей
20.07.2018
21:44:59
Доброй ночи! Есть функция, где в деструкторе выбрасывается std::exception, которое дважды обложено try {} catch и приложение падает от того, что не поймало std::exception. Что я не так делаю?

Mikhail Voronov
20.07.2018
21:46:00
А код есть возможность куда-нибудь залить?

Алексей
20.07.2018
21:47:13
зачем так наркоманить?
Это опыты на основе вопросов на собеседованиях.

Stanislav
20.07.2018
21:48:17
Это опыты на основе вопросов на собеседованиях.
а на этих собесах выдают вещества?

Алексей
20.07.2018
21:49:32

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