Size: a a a

2020 August 04

C

Chuvi in supapro.cxx
Побитый Кирпич
Потому что первый работает с контейнером, а второй с любым рэнжом
насколько я понимаю концепты (правда я их пока нихрена не понимаю, но...), мне кажется, что должно быть так:
```
template <Range RangeType>
void foo(const RangeType& container);
```
источник

ПК

Побитый Кирпич... in supapro.cxx
Chuvi
насколько я понимаю концепты (правда я их пока нихрена не понимаю, но...), мне кажется, что должно быть так:
```
template <Range RangeType>
void foo(const RangeType& container);
```
До с++20 нет концептов
источник

ПК

Побитый Кирпич... in supapro.cxx
Когда будет С++20, тогда и будешь так писать с концептами. Если на твоей платформе они уже поддерживаются, то тоже можно, но больше для исследования, чем для реального кода
источник

C

Chuvi in supapro.cxx
Побитый Кирпич
Когда будет С++20, тогда и будешь так писать с концептами. Если на твоей платформе они уже поддерживаются, то тоже можно, но больше для исследования, чем для реального кода
У меня весь код для исследования)
источник

АК

Александр Караев... in supapro.cxx
Chuvi
В таком случае  - для чего менять  ```
template <typename Container>
void foo(const Container& container);
 на 
template <typename Range>
void foo(const Range& container);
```

или я тебя не так понял?
тут разница только визуальна, но ведь лучше писать так, чтобы код говорил сам за себя, верно?
ты же не пишешь
template <typename Zhopa>
void foo(const Zhopa& zhopa)
?
источник

DB

Dimmu Borgir in supapro.cxx
@Mak_Trefa https://pastebin.com/nX2RjSnS сохрани его. эта простенькая игра. кстати там баг есть) через несколько месяцев попытайся найти его. Еще дополни что то свое)
источник

АК

Александр Караев... in supapro.cxx
Dimmu Borgir
@Mak_Trefa https://pastebin.com/nX2RjSnS сохрани его. эта простенькая игра. кстати там баг есть) через несколько месяцев попытайся найти его. Еще дополни что то свое)
интересно, как код одного новичка поможет другому новичку влиться в язык
это прям образец, как делать не надо
источник

DB

Dimmu Borgir in supapro.cxx
Александр Караев
интересно, как код одного новичка поможет другому новичку влиться в язык
это прям образец, как делать не надо
ты даже не запустил его
источник

C

Chuvi in supapro.cxx
гм. А почему std::is_class<T> есть, а is_struct - нету.
источник

АК

Александр Караев... in supapro.cxx
Chuvi
гм. А почему std::is_class<T> есть, а is_struct - нету.
потому что is_class от структуры тоже true
источник

АК

Александр Караев... in supapro.cxx
Dimmu Borgir
ты даже не запустил его
для того, чтобы проанализировать качество кода, не обязательно его запускать
источник

C

Chuvi in supapro.cxx
Александр Караев
потому что is_class от структуры тоже true
но как мне в таком случае сделать memset 0 всей структуре, но не делать это классу (потому что memset 0 классу - сомнительная идея)
источник

АК

Александр Караев... in supapro.cxx
Chuvi
гм. А почему std::is_class<T> есть, а is_struct - нету.
на уровне трейтов, как мне известно, struct от class нельзя отличить
источник

АК

Александр Караев... in supapro.cxx
Chuvi
но как мне в таком случае сделать memset 0 всей структуре, но не делать это классу (потому что memset 0 классу - сомнительная идея)
а memset структуре - прекрасная идея?
источник

АК

Александр Караев... in supapro.cxx
struct A { virtual ~A() = default; };
и другие чудесные открытия ждут тебя
источник

ПК

Побитый Кирпич... in supapro.cxx
Chuvi
но как мне в таком случае сделать memset 0 всей структуре, но не делать это классу (потому что memset 0 классу - сомнительная идея)
Проверяй на is_pod
источник

ПК

Побитый Кирпич... in supapro.cxx
Или на is_trivially_assignable
источник

C

Chuvi in supapro.cxx
Александр Караев
а memset структуре - прекрасная идея?
я бы сказал - необходимая
struct A { virtual ~A() = default; };
-знаю я эти "открытия". Только тогда другая часть проекта, где эти структуры сидят не соберётся, ибо там чистый С
источник

АК

Александр Караев... in supapro.cxx
Chuvi
я бы сказал - необходимая
struct A { virtual ~A() = default; };
-знаю я эти "открытия". Только тогда другая часть проекта, где эти структуры сидят не соберётся, ибо там чистый С
так и ставь вопрос - тебе надо отличить не структуры в C++ понимании этого слова, а структуры C-style
источник

АК

Александр Караев... in supapro.cxx
Chuvi
я бы сказал - необходимая
struct A { virtual ~A() = default; };
-знаю я эти "открытия". Только тогда другая часть проекта, где эти структуры сидят не соберётся, ибо там чистый С
если нужен memset, то идём в доку:
Converts the value ch to unsigned char and copies it into each of the first count characters of the object pointed to by dest. If the object is a potentially-overlapping subobject or is not TriviallyCopyable (e.g., scalar, C-compatible struct, or an array of trivially copyable type), the behavior is undefined. If count is greater than the size of the object pointed to by dest, the behavior is undefined.
источник