Крылатый
Или прагма на весь файл работает?
🦥Alex Fails
Крылатый
Гуд.
Stanislav
хм
Stanislav
если она работает на весь файл как она быстрее if guard ?
Stanislav
я думалоно работает на весь файл только при первой встрече
🦥Alex Fails
Matway
Шоб ещё быстрее, в Блумберге рекомендуют external include guard. Вот это ваще по-пацански.
🦥Alex Fails
Stanislav
Nikita
Stanislav
Stanislav
стд либу только
Igor
к слову, там в редакторском канале видяшка про атомики была - сам ещё не смотрел, но на всякий случай годный баян в ту же тему, если кому интересно будет
https://channel9.msdn.com/Shows/Going+Deep/Cpp-and-Beyond-2012-Herb-Sutter-atomic-Weapons-1-of-2
Stanislav
🦥Alex Fails
Matway
все инклюды)
стдлиба - это последняя хрень, которую я тащу в проект. Только когда иначе никак.
Igor
оно в двух частях, если что
Stanislav
🦥Alex Fails
Stanislav
на практике pch сильно ускоряет процесс компиляции
Anonymous
Anonymous
2016 - это 2016)
Anonymous
Картинка из интернета
🦥Alex Fails
🦥Alex Fails
FailsBot
http://en.cppreference.com/w/cpp/string/basic_string/swap
Anonymous
Привет всем
🦥Alex Fails
Прив
Anonymous
Я зашёл сюда в канал (знаю только азы с++) буду вникать потихоньку))
Ruslan
Anonymous
Я уже могу написать пару программ
Sergey
О, может и мне что посоветуете?
Тоже недавно начал погружаться в плюсы.
Сам уже много лет пишу на шарпах и жаве.
Интересуюсь геймдевом - по большей частью бэкендом (игромех, серверная часть)
Заранее спасибо
Anonymous
🦥Alex Fails
Sergey
Спасибо
Igor
это у меня микрософтопроблемы, или стдлиба в целом как-то странно сдизайнена?
#include <string> с с++17 автоматически даёт в пользование string_view, и всё прекрасно пока я не пытаюсь вывести вьюшку в поток через << - вылетает сноп шаблонной пыли и ошибок в стиле "не найдена нужная перегрузка"
зато если подключить #include <string_view> то всё ок, потому что именно в этом файле объявлен operator<< для вьюшек - собственно, единственное содержимое всего хедера
🦥Alex Fails
Igor
ни, в <string> #include <xstring>, а уже в нём и определение самого стринга, и определение вьюшки
а вот оператор« для неё - отдельным файликом
то ли микрософт чего-то опять курнул, то ли что
🦥Alex Fails
Ну это кмк обычная историяЮ похожая хрень с гетлайном была. Проще сразу стринг_вью подцепить
Igor
хм, тоже верно, так и сделаю пожалуй
Dmitry
чуваки, у меня вопрос. мне нужно скастить функцию с шаблоном. функция template<class T> T *func(T* arg1, T arg2), не суть важно, в общем. кастю я в C-стиле, и, само собой, если я сделаю ну грубо говоря (ptrdiff_t)func, то компилятор справедливо пошлёт меня нахуй - он не знает, какой именно func. поэтому я делаю (ptrdiff_t)(func<CHAR>), например, но он и в этом случае шлет меня нахуй, потому что cannot convert from 'T *(__cdecl *)(T *,T)' to 'ptrdiff_t'! вот это мне уже непонятно. да, компилятор - студия 2017.
Алдар
Мейерс уже забыл про плюсы и заслуженно отдыхает
🦥Alex Fails
чуваки, у меня вопрос. мне нужно скастить функцию с шаблоном. функция template<class T> T *func(T* arg1, T arg2), не суть важно, в общем. кастю я в C-стиле, и, само собой, если я сделаю ну грубо говоря (ptrdiff_t)func, то компилятор справедливо пошлёт меня нахуй - он не знает, какой именно func. поэтому я делаю (ptrdiff_t)(func<CHAR>), например, но он и в этом случае шлет меня нахуй, потому что cannot convert from 'T *(__cdecl *)(T *,T)' to 'ptrdiff_t'! вот это мне уже непонятно. да, компилятор - студия 2017.
в void * кастуй
Dmitry
мне нужно арифметические действия выполнить над указателем
Dmitry
а, ну хотя void * норм
Dmitry
ща попробую
Evgenii
Dmitry
конкретная задача - скастить шаблонную функцию в ptrdiff_t. всё, куда более конкретней?
Dmitry
это часть защищенного кода, который уже работает для обычных функций, работает нормально. там вызов хитрый через жопу делается потом. это не суть важно, правда
Dmitry
так
Dmitry
void* проканало, но теперь unresolved external, ладно, сейчас покопаю дальше
🦥Alex Fails
reinterpret_cast<> бери
Evgenii
Dmitry
понимаешь, мне не нужно, чтобы мне рассказывали, что мне это не нужно :) как обычно и бывает
Dmitry
есть уже работающий код, подходящий для любой функции
Dmitry
кроме шаблонных
Dmitry
вот совет скастить в void* помог
Ioann_
Так, ты кастишь в void* а потом куда нужно ?
Dmitry
а потом кастю в ptrdiff_t, но он в итоге функцию шаблонную не создаёт, т.к. я её нигде не вызвал в коде :)
Dmitry
и ругается на отсутствующий символ, все правильно ругается он
Dmitry
ща, я dummy вызов сделаю
🦥Alex Fails
Ioann_
Тогда тебе ее надо вызвать где то. И при касте, проверять типы на POD
Ioann_
С помощью static assert
Ioann_
Или я не прав :?
Dmitry
погодите. хуясебе, он даже на обычный вызов этой функции ругается, что найти не может символа
Dmitry
секунду
vladislav
ты эт, стрим давай запускай, посмотрим