Size: a a a

2020 July 16

CD

Constantine Drozdov in supapro.cxx
Liber Azerate
В смысле писать код, пока не получится качественный?)
Нет, в смысле просто написать как надо.
namespace detail {
template <class F, class Tuple, std::size_t... I>
constexpr decltype(auto) apply_impl(F&& f, Tuple&& t, std::index_sequence<I...>)
{
   // This implementation is valid since C++20 (via P1065R2)
   // In C++17, a constexpr counterpart of std::invoke is actually needed here
   return std::invoke(std::forward<F>(f), std::get<I>(std::forward<Tuple>(t))...);
}
}  // namespace detail

template <class F, class Tuple>
constexpr decltype(auto) apply(F&& f, Tuple&& t)
{
   return detail::apply_impl(
       std::forward<F>(f), std::forward<Tuple>(t),
       std::make_index_sequence<std::tuple_size_v<std::remove_reference_t<Tuple>>>{});
}
источник

LA

Liber Azerate in supapro.cxx
Constantine Drozdov
Нет, в смысле просто написать как надо.
namespace detail {
template <class F, class Tuple, std::size_t... I>
constexpr decltype(auto) apply_impl(F&& f, Tuple&& t, std::index_sequence<I...>)
{
   // This implementation is valid since C++20 (via P1065R2)
   // In C++17, a constexpr counterpart of std::invoke is actually needed here
   return std::invoke(std::forward<F>(f), std::get<I>(std::forward<Tuple>(t))...);
}
}  // namespace detail

template <class F, class Tuple>
constexpr decltype(auto) apply(F&& f, Tuple&& t)
{
   return detail::apply_impl(
       std::forward<F>(f), std::forward<Tuple>(t),
       std::make_index_sequence<std::tuple_size_v<std::remove_reference_t<Tuple>>>{});
}
Ну, я думаю любой достаточно продвинутый код на любом языке вызовет такую реакцию
источник

CD

Constantine Drozdov in supapro.cxx
Liber Azerate
Ну, я думаю любой достаточно продвинутый код на любом языке вызовет такую реакцию
Его код на шарпе обладает некоторым преимуществом - для его чтения не нужно знать value category
источник

CD

Constantine Drozdov in supapro.cxx
Liber Azerate
Ну, я думаю любой достаточно продвинутый код на любом языке вызовет такую реакцию
#include <iostream>
int main() {
   std::cout << "Hello, world!"; //ADL
}
источник

LA

Liber Azerate in supapro.cxx
Constantine Drozdov
#include <iostream>
int main() {
   std::cout << "Hello, world!"; //ADL
}
Если ты не знаешь об ADL, тебя не пугает ADL
источник

CD

Constantine Drozdov in supapro.cxx
Liber Azerate
Если ты не знаешь об ADL, тебя не пугает ADL
Хорошо, тогда давайте поговорим об std::cout. Что это такое?
источник

LA

Liber Azerate in supapro.cxx
Constantine Drozdov
Хорошо, тогда давайте поговорим об std::cout. Что это такое?
Стандартный символьный поток вывода?..
источник

CD

Constantine Drozdov in supapro.cxx
Liber Azerate
Стандартный символьный поток вывода?..
Ну вот как мне сделать свой mystd::cout
источник

LA

Liber Azerate in supapro.cxx
Ну взять и написать там какой-нибудь ostream cout, наверно
источник

CD

Constantine Drozdov in supapro.cxx
Liber Azerate
Ну взять и написать там какой-нибудь ostream cout, наверно
Ну напишите, что в mystdcout.h, что в mystdcout.cpp
источник

LA

Liber Azerate in supapro.cxx
Constantine Drozdov
Ну напишите, что в mystdcout.h, что в mystdcout.cpp
Не знаю, я бы попробовал, не будь на часах около пяти. Объясните мне краткую мораль, пожалуйста
источник

CD

Constantine Drozdov in supapro.cxx
Liber Azerate
Не знаю, я бы попробовал, не будь на часах около пяти. Объясните мне краткую мораль, пожалуйста
Краткая мораль: ваш mystdcout будет косячным, потому что его нельзя будет использовать в конструкторе при статической инициализации
источник

CD

Constantine Drozdov in supapro.cxx
То есть в действительности вы не можете повторить hello, world
источник

LA

Liber Azerate in supapro.cxx
Constantine Drozdov
То есть в действительности вы не можете повторить hello, world
Хм, но мы ведь говорили про друзей-шарпистов? Или в шарпе можно повторить их cout?
источник

AN

Alexander N in supapro.cxx
Constantine Drozdov
Хорошо, тогда давайте поговорим об std::cout. Что это такое?
Глобальный объект, отвечающий за вывод в stdout
источник

CD

Constantine Drozdov in supapro.cxx
Alexander N
Глобальный объект, отвечающий за вывод в stdout
Ну напишите, что в mystdcout.h, что в mystdcout.cpp
источник

LA

Liber Azerate in supapro.cxx
Liber Azerate
Хм, но мы ведь говорили про друзей-шарпистов? Или в шарпе можно повторить их cout?
В общем, я так и не понял, как это относилось к обсуждаемому, доброй ночи всем
источник

CD

Constantine Drozdov in supapro.cxx
Liber Azerate
В общем, я так и не понял, как это относилось к обсуждаемому, доброй ночи всем
Очень просто - System.out.println обычная статическая функция
источник

CD

Constantine Drozdov in supapro.cxx
Ну или, по конвенции имён, обычная функция обычного статического объекта System.out
источник

LA

Liber Azerate in supapro.cxx
В любом случае это тонкости, что не особо затрагивают программиста, который только сел изучать С++
источник