Anonymous
После препроцессинга.
Никита
Оно подключается больше двух раз)
Никита
Автоматом в каждом .cpp
Anonymous
Глобальные переменные по-умолчанию статические (т.е. internal linkage), поэтому видны только внутри TU и ошибки с многократным определением не вознкиает.
Anonymous
Оно подключается больше двух раз)
У меня к тебе такое предложение, найди домик для этого указателя.
Anonymous
А в хедере напиши extern std::unique_ptr<что-тотам> a;
Anonymous
У меня к тебе такое предложение, найди домик для этого указателя.
Т.е. в каком-то файле исходников напиши std::unique_ptr<что-тотам> a(инициализируй);
Anonymous
Глобальные переменные по-умолчанию статические (т.е. internal linkage), поэтому видны только внутри TU и ошибки с многократным определением не вознкиает.
*глобальные переменные по-умолчанию имеют internal linkage если до этого не было объявления, которое указывает иначе.
Anonymous
http://en.cppreference.com/w/cpp/language/storage_duration http://en.cppreference.com/w/cpp/language/definition Полезно к изучению.
Anonymous
Уже ответил.
Anonymous
^
FailsBot
∧_∧ ( ・ω・。)つ━☆・*。 ⊂  ノ    ・゜+. しーJ   °。+ *´¨)          .· ´¸.·*´¨) ¸.·*¨)           (¸.·´ (¸.·'* ☆
Крылатый
Чел тут предлагает решить все проблемы с памятью в плюсах и си https://github.com/philippeb8/root_ptr
Крылатый
Пропозал даже толкает
Egor
Может, там что-то вроде арены?
Egor
(Я не читал)
Aidar
Это какой-то обджект коллектор саттера на минималках и с хреновым кодом
Aidar
Может, там что-то вроде арены?
Там кажется есть определение аллокаций
Крылатый
а саттеровский не лучше?
Хз, ешшо не раскурил
Anonymous
Anonymous
Гм... Да-да, "глобальные переменные по-умолчанию имеют internal linkage"
Anonymous
Смешал термины, прошу простить.
Anonymous
Anonymous
Может не надо?
None
Ребята вопрос новичка, зачем создавать прототипы методов в классе а реализацию выносить за него?
Berkus
чтобы меньше весило, например
Berkus
но в современных плюсах нет особой необходимости, только если ты хочешь код методов в библиотеке без сорцов раздавать
Александр
Ребята вопрос новичка, зачем создавать прототипы методов в классе а реализацию выносить за него?
иногда методы одного класса требуют полного описания какого-либо другого класса и наоборот
Александр
всегда считал злом циклические инклуды
None
хмм, спасибо)
Vadim
а так можно делать? swap(s_arr[left++], s_arr[right--]); вместо swap(s_arr[left], s_arr[right]); left++; right--; вывод тот же, но я не уверен что в следующий раз будет так же
Anonymous
(
Vadim
приоритет может поменяться, или нет?
Vadim
в начале увеличит а потом свопнит
Крылатый
Што
Vadim
хорошо, спасибо
🦥Alex Fails
Какое-то функциональное программирование :\
Я про это ночью говорил в соседнем чате (про plus)
Anonymous
std::add(C, 1);
Anonymous
Есть plus
Anonymous
Хе-хе.
Berkus
/warn
Alexander "SonnySlave"
http://www.opennet.ru/opennews/art.shtml?num=47620
Berkus
> По структуре язык Rust напоминает C++ how about NO
Berkus
http://www.opennet.ru/opennews/art.shtml?num=47620
в комментах цвет российского коммьюнити
Timur
> По структуре язык Rust напоминает C++ how about NO
фигурные скобки такие-же? Значит напоминает
Max
фигурные скобки такие-же? Значит напоминает
У них из общего только задуманные изначально области применения
Alexander "SonnySlave"
https://www.kdevelop.org/news/kdevelop-521-released
Alexander "SonnySlave"
https://github.com/Sarcasm/run-clang-format
Dmitry
Подскажите, std::as_const начиная с какой версии GCC?
Egor
Судя по https://gcc.gnu.org/gcc-7/changes.html , с седьмой (загуглено запросом "std as_const gcc"
Egor
> Runtime Library (libstdc++) > Experimental support for C++17, including the following new features: > std::as_const, std::not_fn, std::has_unique_object_representations, constexpr std::addressof.
Dmitry
А как можно проверить версию используемой std-либы, если собирать clang'ом?
Dmitry
что значит проверить?
макросно в коде
Alexander "SonnySlave"
макросно в коде
ну можно узнать версию стандарта...
Alexander "SonnySlave"
а вот именно версию либы - хз-хз
Alexander "SonnySlave"
скорее всего нет
Anton
А как можно проверить версию используемой std-либы, если собирать clang'ом?
Можно макросно проверить разве что версию компилятора.
Alexander "SonnySlave"
так как это опциями компиляции задаётся, что подставится твоему бинарю в качестве стандартаной либы
Alexander "SonnySlave"
https://stackoverflow.com/questions/31657499/how-to-detect-stdlib-libc-in-the-preprocessor
Dmitry
а вот именно версию либы - хз-хз
от clang'а ведь нет std-либы, используется та что идет в составе GCC в системе, а переменная __GNUC__ пустая, если собирать clang'ом
Anton
Называется libc++
Anonymous
Подозреваю, что где-то в каком-то хедере должен определяться макрос с версией.
Anonymous
Для libcxx _LIBCPP_VERSION определяется при инклуде любого хедера.
Dmitry
Есть.
в генте одна либа std на оба компилятора
Alexander "SonnySlave"
в генте одна либа std на оба компилятора
от что мне кажется, что кто-то звиздит)
Alexander "SonnySlave"
а что та м у тебя не установлено - твои проблемы)
Anton
в генте одна либа std на оба компилятора
Дистроспецифик. Можно собирать и с другой std.
Anonymous
Для libcxx _LIBCPP_VERSION определяется при инклуде любого хедера.
libcxx <__config> (подключается любым другим файлом) #define _LIBCPP_VERSION 5000