Size: a a a

2020 July 18

s

std::slavik in supapro.cxx
да - точно
источник

W

Wild_Wind in supapro.cxx
Rock hero
я понимаю  гард ставлю мне из принципов правильности кода интересовало как нужно а не как хочется по типу константы описывать заглавными буквами или функции с большой писать
Советую глянуть разные код стайлы. К примеру, в STL принят snake_case стиль.
Google:
"C++ coding styles"

И посмотрите в сторону форматтеров, clang-format. Там есть набор готовых пресетов, а так же возможность создать свой, с отступами и прочими параметрами для автоматического выравнивания кода согласно вашему кодстайлу.
источник

LA

Liber Azerate in supapro.cxx
А что случается, когда первый операнд оператора запятой вычисляется как не-void? Короче говоря, что случается, когда перегружают запятую
источник

🦉K

🦉 Neil Kulikov in supapro.cxx
Я тут в личном проекте на гадость наткнулся: на Mac OS собирается, на Linux'e - нет, В чем может быть проблема? (Я так понимаю что то не так с хэдерами:
cc -c src/series_kernel.cpp -o build/series_kernel.o -std=c++17 -lstdc -lstdc++ -mfma
In file included from /usr/include/c++/9/cstdlib:77,
                from /usr/include/c++/9/stdlib.h:36,
                from /usr/lib/gcc/x86_64-linux-gnu/9/include/mm_malloc.h:27,
                from /usr/lib/gcc/x86_64-linux-gnu/9/include/xmmintrin.h:34,
                from src/series_kernel.cpp:24:
/usr/include/c++/9/bits/std_abs.h:52:11: error: ‘::abs’ has not been declared
  52 |   using ::abs;
     |           ^~~
In file included from /usr/include/c++/9/stdlib.h:36,
                from /usr/lib/gcc/x86_64-linux-gnu/9/include/mm_malloc.h:27,
                from /usr/lib/gcc/x86_64-linux-gnu/9/include/xmmintrin.h:34,
                from src/series_kernel.cpp:24:
/usr/include/c++/9/cstdlib:127:11: error: ‘::div_t’ has not been declared
 127 |   using ::div_t;
     |           ^~~~~
источник

Е

Егор in supapro.cxx
🦉 Neil Kulikov
Я тут в личном проекте на гадость наткнулся: на Mac OS собирается, на Linux'e - нет, В чем может быть проблема? (Я так понимаю что то не так с хэдерами:
cc -c src/series_kernel.cpp -o build/series_kernel.o -std=c++17 -lstdc -lstdc++ -mfma
In file included from /usr/include/c++/9/cstdlib:77,
                from /usr/include/c++/9/stdlib.h:36,
                from /usr/lib/gcc/x86_64-linux-gnu/9/include/mm_malloc.h:27,
                from /usr/lib/gcc/x86_64-linux-gnu/9/include/xmmintrin.h:34,
                from src/series_kernel.cpp:24:
/usr/include/c++/9/bits/std_abs.h:52:11: error: ‘::abs’ has not been declared
  52 |   using ::abs;
     |           ^~~
In file included from /usr/include/c++/9/stdlib.h:36,
                from /usr/lib/gcc/x86_64-linux-gnu/9/include/mm_malloc.h:27,
                from /usr/lib/gcc/x86_64-linux-gnu/9/include/xmmintrin.h:34,
                from src/series_kernel.cpp:24:
/usr/include/c++/9/cstdlib:127:11: error: ‘::div_t’ has not been declared
 127 |   using ::div_t;
     |           ^~~~~
источник

🦉K

🦉 Neil Kulikov in supapro.cxx
Мы видать разными гуглами пользуемся, но спасибо)
источник

VS

Vlad Serebrennikov in supapro.cxx
Liber Azerate
А что случается, когда первый операнд оператора запятой вычисляется как не-void? Короче говоря, что случается, когда перегружают запятую
перегруженный оператор может сохранить этот результат, например. для ему одному известных целей
источник

LA

Liber Azerate in supapro.cxx
Vlad Serebrennikov
перегруженный оператор может сохранить этот результат, например. для ему одному известных целей
Ну допустим, а зачем приводят к void на случай перегрузки этого оператора?
источник

VS

Vlad Serebrennikov in supapro.cxx
Liber Azerate
Ну допустим, а зачем приводят к void на случай перегрузки этого оператора?
чтобы ни на основе результата, ни на основе его типа нельзя было написать какую-либо логику
источник

🦉K

🦉 Neil Kulikov in supapro.cxx
А еще вопросец: насколько корректно так делать:
namespace utils{...}

template<>  
struct utils::extension<float, ext_type::sse>
{
...
}
источник

VS

Vlad Serebrennikov in supapro.cxx
по крайней мере мне так представляется
источник

LA

Liber Azerate in supapro.cxx
Vlad Serebrennikov
по крайней мере мне так представляется
Хмм, спасибо
источник

🦉K

🦉 Neil Kulikov in supapro.cxx
Пасиб еще раз)
источник

s

std::slavik in supapro.cxx
🦉 Neil Kulikov
Мы видать разными гуглами пользуемся, но спасибо)
а на каком языке гуглите?)
источник

🦉K

🦉 Neil Kulikov in supapro.cxx
std::slavik
а на каком языке гуглите?)
Английский конечно)ъ
источник
2020 July 19

AC

Andrei Cherniuk in supapro.cxx
Доброй ночи, подскажите, где ошибка?

#include <iostream>

template <class T>
struct has_operator_less
{
   static char f(...);

   template <class C>
   static decltype(std::declval<C>().operator<(std::declval<C>()), int()) f(int);

   static constexpr bool has = sizeof(f(0)) == sizeof(int);
};

struct S
{
   bool operator<(const S & a) const { return this->field == a.field; }
   int field = 0;
};

int main() {
   std::cout << has_operator_less<S>::has;

   return 0;
}
источник

TS

Till Schneider in supapro.cxx
Andrei Cherniuk
Доброй ночи, подскажите, где ошибка?

#include <iostream>

template <class T>
struct has_operator_less
{
   static char f(...);

   template <class C>
   static decltype(std::declval<C>().operator<(std::declval<C>()), int()) f(int);

   static constexpr bool has = sizeof(f(0)) == sizeof(int);
};

struct S
{
   bool operator<(const S & a) const { return this->field == a.field; }
   int field = 0;
};

int main() {
   std::cout << has_operator_less<S>::has;

   return 0;
}
Зачем так сложно??? Какой стандарт?
источник

AC

Andrei Cherniuk in supapro.cxx
нууу, 17. пытаюсь ручками реализовать
буду идти к более изящному решению - пока что хочу понять, где проблема
источник

TS

Till Schneider in supapro.cxx
Andrei Cherniuk
нууу, 17. пытаюсь ручками реализовать
буду идти к более изящному решению - пока что хочу понять, где проблема
источник

AC

Andrei Cherniuk in supapro.cxx
спасибо
источник