Anonymous
Для libstdc++ сейчас будет...
Anonymous
libstdc++ <bits/c++config.h> (опять же, судя по всему подключается всеми остальными файлами) // The major release number for the GCC release the C++ library belongs to. #define _GLIBCXX_RELEASE 7 // The datestamp of the C++ library in compressed ISO date format. #define __GLIBCXX__ 20170814
Anonymous
Ну, вон семёрочка есть)
Anonymous
Но это не версия же... и да, как там с msvc?
MSVC под рукой нет, чтобы копаться в хедерах.
Dmitry
интересно, а для шланговской библиотеки какая переменная?
Anonymous
А что значит "шланговская библиотека"?
Anonymous
Он же дружит с обоими либами.
Anonymous
Под линуксом обычно libstdc++ использует.
Dmitry
Он же дружит с обоими либами.
а вдруг там нет _GLIB* никаких
Anonymous
Glib — это разве не из другой песни вообще?
Anonymous
Или я что-то путаю?
Anonymous
Ах, _GLIBCXX.
Anonymous
Я уже вообще о другой вещи подумал)
Anonymous
Ну, все эти макросы определены в том же c++config.h
Berkus
от что мне кажется, что кто-то звиздит)
Кланг может работать и с гнусной libstdcpp
Anton
Такс, ребят, скажите, как бы вы посчитали количество знаков (цифра + +/-) в числе?
Anton
P.S. Число в десятичном виде.
Egor
to_string, узнать длину
Anonymous
Хотя ща.
Anton
to_string, узнать длину
Слишком просто.
Anton
while ((i /= 10) != 0) ++length;
Не учитывает, что число м.б. отрицательным.
Anton
А я предлагаю такой вариант. https://gist.github.com/kachsheev/b9bf4a9b9d9d59166c614d8031d9ec9a Это называтся "Что делают шаблоны с++ с человеком".
Александр
*картинка с автобусом из хлеба*
Anton
*картинка с автобусом из хлеба*
Именно этого и добивался)
Anonymous
Anton
Что-то сложно. https://ideone.com/95ep8R
Это compile-time вариант. Что на счёт runtime?
Egor
И, конечно, дико неспортивный вариант: https://ideone.com/danyXa
Egor
В который хорошо бы добавить проверку того, что T не является вещественным типом. Или является целочисленным. Или ничего не добавлять.
Anonymous
http://en.cppreference.com/w/cpp/types/is_integral
kitsu
Есть проблема с кастами (или со sfinae?) при кастомной десериализации boost::variant https://pastebin.com/f7gr6qUG
kitsu
В общем был код, где была аналогичная Реализация, но вместо Real<T> были явные классы-наследники, aka RealT1, RealT2, etc и все работало Заменил на шаблон - все поломалось :(
🦥Alex Fails
надо бы в #sticker #procxx вкрутить, хотя я эту пикчу в стикерах и видел
Egor
В общем был код, где была аналогичная Реализация, но вместо Real<T> были явные классы-наследники, aka RealT1, RealT2, etc и все работало Заменил на шаблон - все поломалось :(
Полагаю, что там где-то был прописан неявный каст и чего-то во что-то, а в новой версии — не прописан. Сейчас кода слишком мало, чтобы определить, в чём конкретно проблема.
kitsu
не, касты не прописаны
Egor
Возможно, там были какие-то указатели? Или есть ещё перегрузка функции, которая принимает какие-то из старых классов.
Anatoly
Давай сразу с плохой.
Anatoly
Так что, плохой новости не будет и у тебя все работает?
usernameak
как выделить память только для текущего потока
Egor
А чем это должно отличаться от "выделить глобальный кусок динамической памяти при помощи new"?
usernameak
уточню
Egor
Возможно, вы ищете thread_local: https://stackoverflow.com/questions/11983875/what-does-the-thread-local-mean-in-c11
usernameak
о, оно
Egor
Есть с C++11
usernameak
а как декларировать в хедере такие переменные
usernameak
system.h: extern varname; system.cpp: thread_local varname;
usernameak
так?
Egor
Кажется, надо extern thread_local varname;
kitsu
А они точно нужны в хедере?
usernameak
kitsu
kitsu
ну и вот эти, но они совсем нерелевантны: template <typename... Args> explicit Wrapper(Args &&... args); template <typename Y, typename = std::enable_if_t<std::is_base_of<T, Y>::value>> Wrapper(Wrapper<Y> &&rhs); }
Anonymous
привет всем. кто кодит на clion под linux, не сталкивались с this file doest not belong to any project..?
kitsu
привет всем. кто кодит на clion под linux, не сталкивались с this file doest not belong to any project..?
Емнип clion дружит только с cmake, соответственно файлы, которые ты хочешь билдить надо добавить в соответствующий CMakeLists.txt
Anonymous
Емнип clion дружит только с cmake, соответственно файлы, которые ты хочешь билдить надо добавить в соответствующий CMakeLists.txt
он(и) там есть. я нашел следующее объяснение: the mingw environment wasn't setup properly. Once I installed that everything worked a treat.
Anonymous
это переменная окружения или что?
kitsu
1. попробуй скомпилировать из командной строки 2. посмотри конфиги, правильно ли заданы (и заданы ли вообще) пути до тулчейна
kitsu
ну или 3. подожди того, кто пользуется clion на win
Anonymous
я на линексе
Anonymous
gcc компилит из консоли, ага.
kitsu
а, окей, тогда у меня есть подозрение, что 2 пункт решит проблему
Anonymous
а нельзя ли развернутей ответить? да, нуб
kitsu
gcc компилит из консоли, ага.
Такс, причем тут gcc?
Anonymous
Такс, причем тут gcc?
все кроме с++ компилятора
Danil
Всем привет. Вопрос не по плюсам, а больше по проектированию. Мб кто-нибудь подскажет, где можно почитать о том, как вообще пришли к принципам ооп-а (наследование, полиморфизм, инкапсуляция данных и абстракция), почему их стоит придерживаться при проектировании сложных систем и какие ограничения они накладывают? Возможно, кто-то натыкался на эту тему в литературе/статьях. Буду признателен, если что-то посоветуете. Можно (или даже желательно) на английском
🦥Alex Fails
*банды четырех, кек
Anonymous
Это какой?
Anonymous
А.