
Mikhail
14.12.2016
11:16:04

Дед Пегас
14.12.2016
12:28:58
https://foonathan.github.io/blog/2016/12/08/fixing-initializer-list.html

Artem
14.12.2016
17:58:02
Всем привет.Кто встречался с такой ошибкой:
Double free or corruption(!prev)
Понимаю,что где-то проблема с памятью,но суть в том,что это ошибка встретилась после полного первого build'a, билдил большое кол-во хедеров, использующие сторонние shared-библиотеки, в самой функции main, просто вывожу строку.
После компиляции, выводится эта строка и при завершении ошибка памяти.
При сборке, был warning, что возможен конфликт между двумя shared-библиотеками. Может ли быть проблема с памятью именно из-за этого? Гуглил, но там в основном ошибки в самом коде, выделении/освобождении.Собирал в Eclipse.

fox.lua
14.12.2016
18:00:51
valgrind?

Google

Artem
14.12.2016
18:03:50
Смотрел, как-то мало, что понятного, слишком много инфы показывает,строк 500

Aidar
14.12.2016
18:06:38
Вручную попробуй собери

Evgenii
14.12.2016
20:08:19
Всем привет.Кто встречался с такой ошибкой:
Double free or corruption(!prev)
Понимаю,что где-то проблема с памятью,но суть в том,что это ошибка встретилась после полного первого build'a, билдил большое кол-во хедеров, использующие сторонние shared-библиотеки, в самой функции main, просто вывожу строку.
После компиляции, выводится эта строка и при завершении ошибка памяти.
При сборке, был warning, что возможен конфликт между двумя shared-библиотеками. Может ли быть проблема с памятью именно из-за этого? Гуглил, но там в основном ошибки в самом коде, выделении/освобождении.Собирал в Eclipse.
Не специалист по плюсам, извини если скажу очевидное.
Был delete, а потом еще один delete, например по указателю.
Valgrind в студию, там должно быть все понятно. Можно еще попробовать gdb, если вот прямо падает на этой ошибке.

Artem
14.12.2016
20:11:15
Как раз самое смешно то, что весь мой main() выглядит так:
'{cout « "test" « endl;}'
забыл как код вставлять:)

Vladislav
14.12.2016
20:12:00

Artem
14.12.2016
20:12:48
Нет,вроде в телеграмме можно при помощи каких-то ковычек вставить.

Alexander
14.12.2016
20:13:19
/cpp работало раньше

Evgeniy
14.12.2016
20:13:20
` таких
код

Vladislav
14.12.2016
20:13:32

Artem
14.12.2016
20:13:51
Да,спасибо,естественно.

Alex Фэils?︙
14.12.2016
21:11:43

Google

Alex Фэils?︙
14.12.2016
21:44:46
#define private public
Я тут запелил протектед-метод, который вызывает один протектед-метол от переданного входного параметра того же типа, что и класс. А сделал я это для того, чтобы можно было расширять класс композицией. Пример кода:
class A {
protected:
virtual float getFloat() = 0;
float getFloatFromInstance(const A *a)
{
return a->getFloat();
}
}
class DecoratorA : public A {
A *decorated;
protected:
float getFloat()
{
return getFloatFromInstance(a);
}
public:
DecoratorA(A *a)
: a(a) {}
}


fox.cpp
14.12.2016
21:48:34

Alex Фэils?︙
14.12.2016
21:49:06
Этот метод позволит использовать protected-методы в декораторах, к примеру. Алсо для компоновщиков пойдет норм. Наследование сделано для того, чтоб к декоратору можно было обращаться по интерфейсу класса (к.о.)

Vladislav
14.12.2016
21:55:04

Alex Фэils?︙
14.12.2016
22:04:17
В тему друзей: паттерн "Макродружба"
// class.h
#include "friends.h"
class A {
private:
float getA();
friend MY_FRIENDS;
// friends.h
#define MY_FRIENDS class Friend1; friend class Friend2;
Ага, в примере забыл сделать реализации вирт методов и сделать ук-ль на A
Алсо можно на макросах с переменным числом аргументов попробовать запилить

fox.cpp
14.12.2016
22:08:56

Vladislav
14.12.2016
22:13:39
anarchy in C++

fox.cpp
14.12.2016
22:14:47
+

Дед Пегас
15.12.2016
07:56:01
https://meetingcpp.com/tl_files/mcpp/2016/Vincente%20Botet%20Escriba%20-%20ProductTypesMeetingC++.pdf
Типы-произведения в моих плюсах?
Может, и монады будут?

Vladislav
15.12.2016
07:58:55

Artem
15.12.2016
07:59:13
побольше бы всего в плюсах чтобы было
а то маловато всего в плюсах

Vladislav
15.12.2016
08:02:09
да, и скобочек пусть из лиспа завезут

Google

Дед Пегас
15.12.2016
08:02:32
Не, лучше монадки.
И композицию.
Чтобы можно было бы так: {1, 2, 3, 4} <%> [](auto x) { return x * 2;} <%> cout;

Vladislav
15.12.2016
08:03:35
что значит добавить монады? Это ведь просто абстракция, с концептами ты их просто либой добавляешь
или ты имеешь ввиду сахарную do-нотацию как в хаскеле?

Дед Пегас
15.12.2016
08:04:17
И это!
https://www.nu42.com/2016/12/p-square-boost-accumulators-fine.html
https://tartanllama.github.io/c++/2016/12/12/if-constexpr/

Vladislav
15.12.2016
08:11:03
компиляторы уже есть с поддержкой?

Admin
ERROR: S client not available

Vladislav
15.12.2016
08:13:28
а, вижу, уже есть

Дед Пегас
15.12.2016
08:13:54
Да, есь.
Даже щупал.
Удобна
.
Онтоп https://vittorioromeo.info/index/blog/capturing_perfectly_forwarded_objects_in_lambdas.html

Vladislav
15.12.2016
08:21:11
Удобна
особенно в комбинации с decltype(auto) return type, видимо

Dumitru
15.12.2016
08:27:50
Уже есть gcc7 ?
Ведь даже 6 нет в репозитриях убунты

Google

Stanislav
15.12.2016
08:29:17

Дед Пегас
15.12.2016
08:29:34
Очередная либа по рефлексии https://github.com/cbeck88/visit_struct

Evgeniy
15.12.2016
08:29:40
Дайте модули и корутины

Stanislav
15.12.2016
08:29:50

Evgeniy
15.12.2016
08:30:16
2017 жди)
2020 минимум, а скорее всего 2023 ты имеешь ввиду

Stanislav
15.12.2016
08:30:31

Vladislav
15.12.2016
08:30:40

Stanislav
15.12.2016
08:30:49

Evgeniy
15.12.2016
08:31:19
Хотя бы стандарта дефакто

Stanislav
15.12.2016
08:32:13
Разработчики проекта LLVM объявили об изменении подхода к присвоению номеров версий. Если раньше применялась десятичная нумерация с увеличением первой цифры для значительных выпусков, второй для функциональных обновлений (3.8.0, 3.9.0) и третьей для корректирующих выпусков (3.8.1, 3.8.2), то теперь решено стереть грань между значительными и функциональными выпусками, меняя только первую цифру (5.0.0, 6.0.0, 7.0.0). Новая схема будет применена начиная с мартовского выпуска 4.0.0, после чего в сентябре ожидается релиз LLVM 5.0.0.
ну елки

Dumitru
15.12.2016
08:32:15

Stanislav
15.12.2016
08:32:16
еще одни

Vladislav
15.12.2016
08:33:12
еще одни не осилили semantic versioning