Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Работа с кавычками с++ https://www.cyberforum.ru/ cpp-beginners/ thread2489973.html
можете ли вы мне помочь со столь стервозной проблемой. Допустим у меня есть строка - string str = "hello "world" "\\\"" --- \'\\ test \"\' world "; и мне нужно узнать откуда...
Thread. Первый раз с много-поточностью C++
Привет, форумчане! есть код, код не мой, но хотелось бы, по возможности, разобраться. Нужно генерировать случайные строки из диапазоне mutex mtx; class Make_timer { public: Make_timer()...
C++ Thread. Многопоточность Привет! есть код, код не мой, но хотелось бы разобраться, по возможности. Нужно генерировать строки в диапазоне mutex mtx; class Make_timer { public: Make_timer() :t1(system_clock::now()) {... https://www.cyberforum.ru/ cpp-beginners/ thread2489910.html C++ Z(x,y)=min{max{sinx,siny},x,y} Как вычислить ф-цию Z(x,y)=min{max{sinx,siny},x,y} если -1.7<=x<=9.4 увеличение по 9.3, а 0<=y<=3 , увеличение по 0.75 . https://www.cyberforum.ru/ cpp-beginners/ thread2489898.html
Переменные родительского класса C++
Всем привет! Такая проблема Класс родитель class Layer { public: Layer(); ~Layer();
C++ Ускорение кода https://www.cyberforum.ru/ cpp-beginners/ thread2489857.html
Как ускорить код: #include <iostream> using namespace std; int main(){ int n, q, c = 0;
C++ Прекращается работа программы При запуске в Visual Studio 2019 программа не работает и появляется сообщение "Прекращена работа программы". Подскажите, пожалуйста, как исправить ошибку? #include<iostream> #include<stack>... https://www.cyberforum.ru/ cpp-beginners/ thread2489832.html Перебор элементов в массиве C++
Условие задачи: Написать отдельную функцию, которая принимает 2 параметра (char, int sum). Дано: 3 * (21 + 17)) / (3 - 1) + 43, если ошибок нет, функция должна вернуть значение 100, а если есть...
C++ Как сделать динамический массив глобальным https://www.cyberforum.ru/ cpp-beginners/ thread2489817.html
Нужно что бы создание, ввод и вывод были в разных функциях #include "pch.h" #include <iostream> using namespace std; int main(){ setlocale(LC_ALL,"Russian");
C++ Побитовые логические выражения https://www.cyberforum.ru/ cpp-beginners/ thread2489805.html
Пишу программу для побитовых логических операций. Приоритет ! = 4, ~ = 4, & = 3, ^ = 2, | = 1. Мои комментарии на русском. '=' показывает результат. Найденные проблемы: 1) x|y^z, это она...
C++ Можно ли так делать ?
Я пока что начинающий, поэтому хочу спросить, можно ли так делать ? #include<iostream> #include<cstdlib> using namespace std; int Factorial(int k) { if(k==1)
C++ Перегруженный оператор ввода Почему ошибка при попытке вывести результат сложения двух матриц? #include <iostream> using namespace std; class Matrix { private: https://www.cyberforum.ru/ cpp-beginners/ thread2489782.html
567 / 406 / 132
Регистрация: 22.11.2017
Сообщений: 1,043
11.08.2019, 09:21 0

Можно ли создать массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться int и т.д.? - C++ - Ответ 13764333

11.08.2019, 09:21. Показов 6050. Ответов 119
Метки (Все метки)

Ответ

Nexi99, привет!
Цитата Сообщение от Nexi99 Посмотреть сообщение
я хочу создать одномерный массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться bool, с 10 по 14 будет храниться int
Я не советую такое делать. Чисто экспериментально можно через std::any, как предложил _stanislav, можно через std::valiant, как предлагаю я. Так как мы знаем какие именно типы может принимать элемент массива.
Для работы этого кода также нужна поддержка C++17, так как std::variant доступен в C++ начиная с 17 стандарта.
Присоединяюсь к Verevkin: для чего тебе нужна такая сущность? Мне интересно.
Цитата Сообщение от Krokodil9798 Посмотреть сообщение
В С++17 появились ещё tupl
Извини, но я не знаю, как здесь (в рамках этой задачи) std::tuple использовать: 1 элемент кортежа заполнен, в остальных заглушки? Я честно не пойму, что ты имел ввиду, говоря про std::tuple в этом вопросе.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <variant>
 
using double_bool_int = std::variant<double, bool, int>;
 
int main()
{
    const size_t len = 15u;
 
    double_bool_int* arr = new double_bool_int[len];
    for (size_t idx = 0u; idx < 5u; ++idx)
        arr[idx] = static_cast<double>(0.5 * idx);
    for (size_t idx = 5u; idx < 10u; ++idx)
        arr[idx] = static_cast<bool>(idx & 1u);
    for (size_t idx = 10u; idx < 15u; ++idx)
        arr[idx] = static_cast<int>(2 * idx);
    for (auto it = arr; it != arr + len; ++it)
    {
        if (auto d = std::get_if<int>(it); d)
            std::cout << "int " << *d << "\n";
        else if (auto d = std::get_if<double>(it); d)
            std::cout << "double " << *d << "\n";
        else if (auto d = std::get_if<bool>(it); d)
            std::cout << "bool " << std::boolalpha << *d << "\n";
    }
 
    return 0;
}


Вернуться к обсуждению:
Можно ли создать массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться int и т.д.? C++
0
Миниатюры
Можно ли создать массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться int и т.д.?  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.08.2019, 09:21
Готовые ответы и решения:

Создать базу из трех сотрудников, где будут храниться их имена
суть задачи: нужно создать базу из трех сотрудников, где будут храниться их имена, з.п, должности,...

Можно ли в com-сервере создать массив в котором будут храниться данные какое-то время
Можно ли в com-сервере сделать так, чтобы одна из процедур выполняла вычисления и заносила их в...

Создать массив, содержащий массивы, которые, в свою очередь, содержат массивы, в которых уже будут храниться различные типы данных
Мне нужно создать массив, содержащий массивы, которые, в свою очередь, содержат массивы, в которых...

Создать централизованную базу данных, где будут храниться все клиенты, всех офисов
Доброго времени суток ! Есть проблема одна. Несколько офисов, работают ведут учет клиентов в...

119
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2019, 09:21

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Получить массив, где будут храниться индексы строк матрицы, в которых есть равные элементы
2. Дан прямоугольный массив A. Получить линейный массив B, в котором будут храниться номера тех...

Создать класс, в котором информация будет храниться в хеше.
А подскажите еще, мне нужно создать класс , в котором в хеше будет храниться информация, ее...

Комментарии. Создать модуль, в котором будет храниться процедура создания картинки
Привет всем! помогите с комментариями к программе пожалуйста... Создайте модуль, в котором будет...

дан массив целых чисел в котором храниться 20 тысяч элементов
дан массив целых чисел в котором храниться 20 тысяч элементов.Найти в массиве первый минимальный...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.