Size: a a a

2020 August 20

NP

Nikita Provotorov in pro.cxx
Переслано от Nikita Provotorov
аля
template<typename Derived>
struct Base
{
   template<typename T>
   void foo(T obj)
   {
       static_cast<Derived*>(this)->fooImpl(obj);
   }

};


struct PolymorphicHolder
{
public:
  template<typename T>
  void invokeFoo(T val)
  {
      // ???
  }

private:
  struct ImplBase
  {
      // ???

      virtual ~ImplBase() = default;
  };

  template<typename Derived>
  struct Impl : ImplBase
  {
      // inherited from Base<Derived>
      Derived obj;
  };

  ImplBase* impl_;  
};

Собсна в изначальном вопросе AbstractInterface == ImplBase, passThrough == invokeFoo
источник

Y

YorkIsMine in pro.cxx
всем привет. Когда я установил VS 2019 и запустил простую программку, то получил ошибку что-то типа file not specified. Также заметил, что у меня студия говорит о наличии 450 ошибок, где каждая из них говорит cannot open source file string.h, cannot open source file lalal.h и тд. Как это исправить?
источник

Y

YorkIsMine in pro.cxx
g++ например работает отлично и компилирует, а студия не может
источник

SK

Stas Koynov in pro.cxx
YorkIsMine
всем привет. Когда я установил VS 2019 и запустил простую программку, то получил ошибку что-то типа file not specified. Также заметил, что у меня студия говорит о наличии 450 ошибок, где каждая из них говорит cannot open source file string.h, cannot open source file lalal.h и тд. Как это исправить?
значит студия более сильно требует исполнение стандарта. string.h заменен на cstring
источник

Y

YorkIsMine in pro.cxx
так что в моем случае делать?
источник

SK

Stas Koynov in pro.cxx
YorkIsMine
так что в моем случае делать?
если нужны два компилятора начать использовать новые называния без .h
источник

SK

Stas Koynov in pro.cxx
ну тогда пробема в путях к стандартным либам и т.п. не подскажу про VS не использую ни разу.
источник

IZ

Ilia Zviagin in pro.cxx
В @supapro иди. Тут тему закрываю.
источник

IZ

Ilia Zviagin in pro.cxx
Stas Koynov
если нужны два компилятора начать использовать новые называния без .h
Ты тоже, Стас, неправ, зачем давать советы когда проблема не ясна?

Путаешь только человека.
источник

AT

Anatoly Tomilov in pro.cxx
нет такого proposal-а, где предлагается владеющий указатель, наподобие unique_ptr, но у которого константность всех методов/операторов доступа к объекту и константность возвращаемой ссылки/указателя на объект совпадают?
источник

АР

Андрей Руссков... in pro.cxx
это наверно стоит делать не отдельными указателями, а mixin'ами ко всем умным указателям
источник

N

Nikitin Alexey in pro.cxx
источник

AT

Alexander T in pro.cxx
Anatoly Tomilov
нет такого proposal-а, где предлагается владеющий указатель, наподобие unique_ptr, но у которого константность всех методов/операторов доступа к объекту и константность возвращаемой ссылки/указателя на объект совпадают?
Кажется, для этого завезли propogate_const
источник

АР

Андрей Руссков... in pro.cxx
вообще конечно стремная особенность языка когда const метод может оказаться нереентрабельным даже без mutable полей класса
источник

AT

Anatoly Tomilov in pro.cxx
да, такой. А этот library fundamentals TS v2 — это что значит? Когда он может стать частью стандарта и какова вероятность?
источник

N

Nikitin Alexey in pro.cxx
Оттуда постепенно в стандарт какие-то вещи уходят, какие-то в 17, какие-то в 20. Про propagate_const пока ничего(
источник

NP

Nikita Provotorov in pro.cxx
Nikitin Alexey
Оттуда постепенно в стандарт какие-то вещи уходят, какие-то в 17, какие-то в 20. Про propagate_const пока ничего(
замечу, что propagate_const в TS уже лет сто сидит
источник

SK

Stas Koynov in pro.cxx
Ilia Zviagin
Ты тоже, Стас, неправ, зачем давать советы когда проблема не ясна?

Путаешь только человека.
мой косяг признаю!
источник

VS

Vlad Serebrennikov in pro.cxx
Anatoly Tomilov
да, такой. А этот library fundamentals TS v2 — это что значит? Когда он может стать частью стандарта и какова вероятность?
насколько я понимаю, это для фич, которые комитету хочется потестировать перед включением в стандарт.   из-за этого отслеживать их судьбу становится чуть сложнее, чем обычных предложений. еще складывается впечатление, что версии library fundamentals привязаны к стандартам: так, propagate_const хотели включить в 20

что касается поддержки именно этого предложения N4388, то оно реализовано в stdlibc++ (но не очень понятно, с какой версии) и не реализовано в libc++. с ms stl ситуация не ясна
источник

R

Ruben in pro.cxx
Есть нужда сделать фунцию, которая в зависимости от значения (не типа!) аргумента будет возвращать различные типы. То есть, чтобы вызвать функцию парсинга, не зная заранее, результат какого типа будет распарсен. Как эту задачу лучше решать? Через наследование?
источник