Size: a a a

2020 August 15

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
Serg Gorelli
std::mt19937 rng(rd()); после rd скобки убери
Зачем убирать-то?
источник

NI

Nikita Ivanov in supapro.cxx
Danya
Зачем использовать вектор булов?
+.
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
Danya
Зачем использовать вектор булов?
В смысле зачем?
Потому что нужен вектор булов.

Вопрос о том, что есть конструктор такого типа.
Можно заюзать resize, конечно, в данном случае.
Но в целом, предположим, что такой возможности нет.
Как решается такая проблема?
источник

SG

Serg Gorelli in supapro.cxx
Eugene Krasnikov (ᴊɪɴ x)
Зачем убирать-то?
а, сорян, все четко)
источник

0

0xFF in supapro.cxx
Внутри класса размер задается вроде так:

vector<T>collection = decltype(T)(100500);
источник

D

Danya in supapro.cxx
Eugene Krasnikov (ᴊɪɴ x)
В смысле зачем?
Потому что нужен вектор булов.

Вопрос о том, что есть конструктор такого типа.
Можно заюзать resize, конечно, в данном случае.
Но в целом, предположим, что такой возможности нет.
Как решается такая проблема?
http://alenacpp.blogspot.com/2005/06/vector.html?m=1
Никто не использует вектор булов
источник

D

Danya in supapro.cxx
Точнее это считается не очень хорошей практикой
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
Я это всё понимаю. Про VC не знал, что так было (потому в 2019 точно всё ок, а статья 2005 года).
Но какая альтернатива?
vector<uint32_t> и вручную биты сдвигать?
У меня миллионы элементов.
источник

D

Danya in supapro.cxx
Eugene Krasnikov (ᴊɪɴ x)
Я это всё понимаю. Про VC не знал, что так было (потому в 2019 точно всё ок, а статья 2005 года).
Но какая альтернатива?
vector<uint32_t> и вручную биты сдвигать?
У меня миллионы элементов.
Зочем в ручную биты двигать?
источник

D

Danya in supapro.cxx
А миллионы
источник

D

Danya in supapro.cxx
Ну тогда и обычный подойдёт
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
0xFF
Внутри класса размер задается вроде так:

vector<T>collection = decltype(T)(100500);
Не работает так.
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
Danya
Ну тогда и обычный подойдёт
Что обычный?
источник

D

Danya in supapro.cxx
Eugene Krasnikov (ᴊɪɴ x)
Что обычный?
Вектор булов стандартный
источник

D

Danya in supapro.cxx
Ну вообще есть std::bitset
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
Там переменный размер.
Там все операции внутри класса делаются, поэтому никаких указателей на элементы и пр. не будет.
источник

0

0xFF in supapro.cxx
0xFF
Внутри класса размер задается вроде так:

vector<T>collection = decltype(T)(100500);
Там описка:

vector<T>collection = decltype(collection)(100500);

@jinxonik
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
0xFF
Там описка:

vector<T>collection = decltype(collection)(100500);

@jinxonik
Теперь работает, спасибо! 😉
источник

EK

Eugene Krasnikov (ᴊɪ... in supapro.cxx
Подскажите, как-то можно инициализировать диапазон uniform_int_distribution после создания объекта?
Не вижу подходящих методов в cppref.
источник

AP

Alexander Potapov in supapro.cxx
#include <random>
#include <iostream>

using namespace std;

int main()
{
   random_device rd;   // non-deterministic generator
   mt19937 gen(rd());  // to seed mersenne twister.
   uniform_int_distribution<> dist(1,6); // distribute results between 1 and 6 inclusive.

   for (int i = 0; i < 5; ++i) {
       cout << dist(gen) << " "; // pass the generator to the distribution.
   }
   cout << endl;
}
источник