auto view = vec
| std::ranges::views::transform(
[](auto x) { return fmt::format("{}\n", x); })
| std::ranges::views::join;
std::ranges::copy(view, std::ostream_iterator<int>(std::cout));
std::cin, то это будет работать жутко медленно.cin читает в свой внутренний буфер сразу, скажем, 4096 байт, и потом отдаёт тебе из буфера по одному символу, которые ты у него запрашиваешь. Нетрудно заметить, что работать это будет (в моём примере) где-то в 4096 раз быстрее.flush, то, что ты вывел в поток, находится в буфере. cout ждёт, пока ты докинешь ему ещё байтиков, чтобы вывести всё потом большим куском. Если же ты хочешь, чтобы вывод произошёл прямо сейчас, то нужен flush.
\r перемещает вывод на начало последней строки, при этом дальнейший вывод идёт поверх неё, что нам и нужно. Так что: считываем строку, меняем её, как душе угодно, выводим \r, выводим модифицированную строку.
std::string и std::unique_ptr<Person>. Создать указатель на наследника можно так:static_cast<std::unique_ptr<Person>>(std::make_unique<Formalist>())Type выкинуть, а для получения информации, специфичной для наследника, использовать виртуальные функции.
тип arr[размер]; (сырые массивы). Иначе — боль и страдания. Массив = vector<int> (Ну или там double, или что там. Туториал по vector легко загуглишь.)string (нужен #include <string>)sizeof вообще про другое, и новичку он понадобиться не может. Вместо него: string.size()for (const char c : str) {
...
}
std::vector<int> row = ...;
std::unordered_map<int, size_t> counts;
for (int x : row) ++counts[x];
size_t n_duplicates = row.size();
for (auto p : counts) {
if (p.second == 1) --n_duplicates;
}
std::list, а std::vector в C++.std::unique_ptr из #include <memory>.std::vector<std::unique_ptr<Figure>> figures;
std::vector<std::unique_ptr<Decoration>> decorations;
figures.push_back(std::make_unique<Ball>(аргументы для конструктора Ball));
figures[0]->какой-нибудь метод Figurevirtual ~Figure() = default; + для Decoration.
const auto i = std::complex<double>(0, 1);
MyWindow — это твой контроллер, который ты написал собственными руками. В нём тебе предлагается использовать кодогенерированную вьюху UI::MyWindow (другой класс!), которую написала за тебя Qt по указаниям из файла `.ui` от QtDesigner. Как именно использовать? UI::MyWindow хранится в MyWindow в поле ui.
std::string s = "hi!";
s = 42;s = std::to_string(42);std::any x = 42;
x = "wut";
x = std::pair{1, 'A'};
std::cout << std::any_cast<std::pair<int, char>>(x).first;
double res = x OPERATOR y;
int a = 1;
int b = 2;
*(&a + 1) = 42;*(&a + 2 - 2) = 42; // UB