Igor
спасибо, Антон, значит упустил это. понятно, что решил с использованием SFINAE не долго думая, но как-то у меня была внутренняя уверенность, что здесь никаких шаблонных версии не должно учавствовать. видимо, ошибся.
Еще пример для взрыва мозга - несмотря на то что есть явно указанный move ctor, вызывается конструктор от forwarding reference: struct noncopyable { noncopyable(); noncopyable(noncopyable const &) = delete; }; template <typename T> struct C { T t_; C() = default; C(C const&) = default; C(C &&) = default; template <typename U> C(U&& value); }; C<noncopyable> w; C<noncopyable> mc(std::move(w)); // Forwarding ctor
🐙 Antony
Минут через 15 заведу тикет
Done: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84306
Anton
Еще пример для взрыва мозга - несмотря на то что есть явно указанный move ctor, вызывается конструктор от forwarding reference: struct noncopyable { noncopyable(); noncopyable(noncopyable const &) = delete; }; template <typename T> struct C { T t_; C() = default; C(C const&) = default; C(C &&) = default; template <typename U> C(U&& value); }; C<noncopyable> w; C<noncopyable> mc(std::move(w)); // Forwarding ctor
ну да. это 15.8.1/10: A defaulted copy/​move constructor for a class X is defined as deleted if X has: (10.1) a potentially constructed subobject type M (or array thereof) that cannot be copied/moved because overload resolution, as applied to find M's corresponding constructor, results in an ambiguity or a function that is deleted or inaccessible from the defaulted constructor
Berkus
ДЕКЛАРАЦИЯ КОНСТРУКТОРА ЗДЕСЬ ПОФИГУ
Berkus
какая разница как оно там по стандарту. рукаим слово default писали? писали. вот у гцц одна логика ворнингов, у шланга другая и обе вполне понятны помоему.
если объявлено Type a; и а нигде не используется, то варнинг можно не показывать только если у конструктора Type есть сайд-эффекты, для пустого и дефолтного конструктора можно доказать что их нет
Berkus
К стати по поводу сайд-эффектов, есть ли гарантия, что непустой конструктор никогда не вызвет warning в таком случае?
я не уверен что стандарт что-то говорит по этому поводу, а от компилятора можно ожидать любой глубины анализа, от текущей до растовской
Max
я не уверен что стандарт что-то говорит по этому поводу, а от компилятора можно ожидать любой глубины анализа, от текущей до растовской
Ну так стандарт языка в принципе не должен говорить ничего предупреджениях компилятора. Меня, собственно, интересует, не будет ли случая, когда и side-effect есть, и предупреджение есть. Я как-то не нашел об этом официальних заметок..
Berkus
а гцц даже не отличает тело от =default
Berkus
ну там наверное чуваки в своих IS_CTOR_P нахуй запутались уже
Max
Ну тут да. Меня просто бесили макросы, в которые обертывались кастомные lock-обьекты, работающие на RAII.
Max
И чтоб их убрать, нужно быть уверенным, что на других платформах не будет 100500 варнингов, поэтому проверял вот различные компиляторы
Berkus
ну про варнинги стандарт ничего не гарантирует, сам же сказал ) так что может будет а может нет, остается считать что любой определенный конструктор в классе подавляет этот варнинг
Pavel
https://stackoverflow.com/a/20828970/864782
🦥Alex Fails
По 4.
Исключают друг друга или нет?
Mikhail
Исключают друг друга или нет?
Большинство - Да. А вообще там спорные вопросы.
Pavel
Ходили ли вы на платные курсы по программированию? anonymous poll Не ходил и не пойду – 89 👍👍👍👍👍👍👍 70% Ходил, не понравилось – 12 👍 9% Не ходил но собираюсь – 9 👍 7% Сам делаю курсы – 9 👍 7% Ходил, понравилось – 8 👍 6% 👥 127 people voted so far.
🦥Alex Fails
Видел какие-то хрени
🦥Alex Fails
Наши чаты: @supapro – чат для начинающих и тех, кто хочет изучить язык; @fludpac – флуд сюда; @pro_net – чатик по .NET; @proasm – чат по языку ассемблера и реверсу; @prolua – чатик по Lua; @prographon – opengl/opencl/vulkan/etc; @proalgorithms – обсуждение алгоритмов; @pro_osdev – разработка OS; @pro_latex – все о TeX и LaTeX; @pro_windows – новый чат по ОС Windows; @vimers – чат про Vim; @pro_sublime – чат про Sublime; Специальная флудилка для обсуждения вакансий с дополнительными материалами для трудоустройства: https://t.me/joinchat/BYlFbEPe5gMPVQm3OwKjaA Предложка новостей в канал @ProCxxNews: https://t.me/joinchat/BYlFbAzhJ48-sOXJoTzRMA Чат о программинге в целом: https://t.me/joinchat/AkxcTEMQENX1pfPjR0UhPA Чат о математике: https://t.me/joinchat/AAAAAD_875HMqziocKWd3Q Чат радиолюбителей: https://t.me/joinchat/AAAAAEIQxdjS8GRo_TWh1g Общие программерские вопросы можно тут: https://t.me/joinchat/AkxcTEMQENX1pfPjR0UhPA Чатик о BSD: https://t.me/joinchat/AAAAAEJ1txaz1pDhcmKZ4w Чатик об Android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w Соседний чат о Qt: @qt_chat Соседний чат по Чистому Си: @pure_C Соседний чат по C++: @cpptogether Соседний чат по вычислительной математике: @comput_math Соседний чат по физике: @physpub Соседний чат по высшему матану: @higher_math Соседний чат про Embedded: @proembedded Наши каналы: @ProCxxNews – новости и мероприятия; @ProCxxChannel – небольшие заметки и ссылки; @ProCxxJobs – вакансии; @xthon – цитатник; @AlexFailsChannel – канал @AlexFails с его фигней о C++ и не очень; @mrSmith_bread – авторский проект "Хлеб мистера Смита"; Правила чата Команда /rules. Чтобы она сработала, надо стартануть @gbreborn_bot в личной беседе с ним. (Если не сработала ,то вот линк на правила: https://t.me/ProCxx/145398) Литература по C++ В чате есть куча книжек. Ищите по тегу #book. Также можете залезть в неотсортированную помойку книг: https://t.me/joinchat/AAAAAE1yUq2Kh6WdPCtjMA Новый чат в списке: @math_code Открытый telegram-чат, в котором Вы можете задавать свои тематические вопросы по программированию, физике, математике, обмениваться книгами, видеоуроками, полезными ссылками, обсуждать интересные технические темы. Новый канал книг по физике: @physics_lib ═══════════ С последних конференций: 1. Материалы CoreHard 2018: https://t.me/ProCxxChannel/84 2. Материалы с митапа Дениса Кормалёва в JetBrains (https://t.me/ProCxxNews/75): см. в @ProCxxChannel ----------- Мини-опросы 1. argc/argv: https://t.me/ProCxx/171567 2. Курсы: https://t.me/ProCxx/174437 Мероприятия 15 июня будет встреча РГ21 в Яндексе: https://t.me/ProCxxNews/76 18 июня будет онлайн день открытых дверей в OTUS: https://t.me/ProCxxNews/77 Социальные сети вк - vk.com/procxx github - github.com/procxx Instagram - в поиске supapro.cxx
Прошлый #pin
Arseny
coursera считается?
Egor
если платил, и курс по программированию, то почему нет?
Arseny
Ну там можно не платить обычно.
Pavel
По бесплатным надо отдельный опрос делать.
Pavel
емнип на курсоере теперь уже наоборот — всё платное. или я ошибаюсь?
Egor
нет, там можно лекции смотреть
Egor
но задания не проверяются или просто не даются
Daniil
Здравствуйте , не подскажите , как решить ошибку lnk2019 ?
Pavel
сложный вопрос. я бы считал те курсы, которые проходил уже занимаясь профессиональной деятельностью
Daniil
С расширением .obj всмысле ?
Igor
да
Daniil
Хорошо, попробую
Nikita
Я не могу сюда скопировать вопрос, в кратце: как относитесь к easylogging++ ?
Nik
там нет нормальных уровней логирования
Nik
из коробки
Nik
я про то, что нельзя сделать как в нормальных логерах, debugLevel=INFO и у тебя активны все что выше info и неактивны все что ниже
Nikita
Я просто внезапно осознал что эта либа теперь не header-onlym но теперь еще имеет сорца которые нужно линковать. Окей классно, обновил, только теперь мой проект уходит в segfault при запуске. Более того, шланговский memory sanitizer ругается на использование неинициализированных переменных внутри либы
Ivan
Здравствуйте, есть кто-то, кто использовал bcgsoft для MFC?
Berkus
Я не могу сюда скопировать вопрос, в кратце: как относитесь к easylogging++ ?
1. берешь spdlog 2. никак к этому easylogging++ не относишься
Ivan
Я никак не могу разобраться, как быть с табконтролами, у меня выходит их два, хотя hWnd всегда одно приходит в OnPaint. Второй получает все те же отклики, что и первый, но до его указателя достучаться не могу
Ivan
Может кто-то сталкивался с подобным ?
Ivan
класс CBCGPTabWnd.
Ivan
Вы наследовали от нее ? Или вообще другие?
Olesya
привет, народ. я помню, тут мелькала статья, как создавать свои опции в цмейке. вкратце хочу вот что: создать флаг, чтобы либо линковало опр либу, либо нет.
Ivan
ОК, сейчас посмотрю, спасибо
Olesya
в общем, киньте в меня статьёй, у кого под рукой.
Olesya
ну типа чтобы во время вызова cmake можно было передать опр флаг (или опцию) - и нужная либа слинкуется. а если не передаю, то тогда либа не линкуется.
Olesya
определённый
Maksim
https://stackoverflow.com/questions/18435516/how-to-set-a-cmake-option-at-command-line
Olesya
https://stackoverflow.com/questions/18435516/how-to-set-a-cmake-option-at-command-line
то, что надо. но вообще если кто статью вспомнит, тоже пришлите. там много полезного было. а я её потеряла :(
Anton
привет, народ. я помню, тут мелькала статья, как создавать свои опции в цмейке. вкратце хочу вот что: создать флаг, чтобы либо линковало опр либу, либо нет.
Ну например if(BUILD_TESTING) find_library(GTEST libgtest.a) ... BUILD_TESTING соответственно передаётся как параметр командной строки
Olesya
так уже ответили, спасибо :)
🙃
http://prntscr.com/iceaiq
🙃
Может кто-нибудь обьяснить почему VC++ добавляет это _ перед именем символа?
🙃
причём только в 32 битных билдах
🙃
я же специально extern "C" использую чтоб имя не менялось.
🙃
нет, на 64 всё нормально, имя остаётся без подчёркивания
🙃
в этом и прикол
Aidar
даже стандартные
Aidar
кажись это cdecl у них такой
🙃
странно что в 64 битном режиме всё иначе
🙃
уже пол дня пытался врубиться почему у меня в 64 режиме всё собирается, а в 32 ошибка линковки
Daniil
https://prnt.sc/iced0p Кто-нибудь знает что делать? Возможно я не те библиотеки скачал, но вроде все то