Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.83/40: Рейтинг темы: голосов - 40, средняя оценка - 4.83
144 / 28 / 4
Регистрация: 06.05.2019
Сообщений: 1,838
Записей в блоге: 4

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

10.08.2019, 23:35. Показов 9611. Ответов 119

Студворк — интернет-сервис помощи студентам
Такой вопрос: я хочу создать одномерный массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться bool, с 10 по 14 будет храниться int. Я видел пример со структурами как раз на этом форуме, но я потерял ссылку на сайт? Можно ли создать такой массив и какими способами?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.08.2019, 23:35
Ответы с готовыми решениями:

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

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

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

119
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
12.08.2019, 00:32
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от hoggy Посмотреть сообщение
но это - не принципиальный фактор.
это как раз и принципиально
массив однородный и состоит он или из union, variant, или там структур
это другие типы данных, совсем другие. это не double не int и ни что то другое
Цитата Сообщение от hoggy Посмотреть сообщение
я тебя ещё раз спрашиваю: ты старт-топик читал?
давай вместе перечитаем
Цитата Сообщение от Nexi99 Посмотреть сообщение
в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться bool, с 10 по 14 будет храниться int.
где здесь про union, variant и что то еще?
Цитата Сообщение от hoggy Посмотреть сообщение
понятно, что массив вариантов - это массив вариантов, а не массив double , int, или bool.
а топик стартер просил именно этого(double , int, или bool)
1
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
12.08.2019, 01:19
Цитата Сообщение от ValeryS Посмотреть сообщение
массив однородный и состоит он или из union, variant, или там структур
это другие типы данных, совсем другие. это не double не int и ни что то другое
я тебе ещё раз повторяю:

массив - лишь формально коллекция однотипных элементов.
по факту туда запихать можно все что угодно.
лишь бы места хватило.
неужели это так сложно понять?
особенно, когда перед глазами рабочие примеры-иллюстрации?

насчет union - конечно это не int.
ну и что?

тебе какая печаль то?
тебе надо покласть в массив объекты разных типов.
ты берёшь и кладешь.
для того union и существует.

а не несешь всякую чушь: "так нельзя"

Цитата Сообщение от ValeryS Посмотреть сообщение
в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться bool, с 10 по 14 будет храниться int.
Цитата Сообщение от ValeryS Посмотреть сообщение
где здесь про union, variant и что то еще?
человеку надо покласть в массив объекты разных типов.
человек поклал в массив объекты разных типов.
человеку надо извлечь из массива объекты разных типов.
человек извлек объекты разных типов.

union или variant - это способы как достичь желаемого.
просто способы, как можно организовать такой волшебный масссив.

неужели это так сложно понять?

Добавлено через 2 минуты
Цитата Сообщение от ValeryS Посмотреть сообщение
а топик стартер просил именно этого(double , int, или bool)
нехай додумывать ака бабака на лавочке.

он ваял конкретно:
Цитата Сообщение от Nexi99 Посмотреть сообщение
я хочу создать одномерный массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться bool, с 10 по 14 будет храниться int.
Цитата Сообщение от Nexi99 Посмотреть сообщение
Можно ли создать такой массив и какими способами?
0
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
12.08.2019, 07:16
hoggy, короче, меня слушай, Можно ли создать массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться int и т.д.?, ты че там про массив несешь?
2
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
12.08.2019, 07:39
Цитата Сообщение от hoggy Посмотреть сообщение
массив - лишь формально коллекция однотипных элементов.
формально ли?
sizeof(arr[0])==sizeof(arr[5]) да или нет?
а sizeof(arr[0])==sizeof(double) да или нет?
а sizeof(arr[0])==sizeof(int) да или нет?
а sizeof(arr[0])==sizeof(bool) да или нет?
Цитата Сообщение от hoggy Посмотреть сообщение
просто способы, как можно организовать такой волшебный масссив.
а еще можно создать массив строк и вписывать туда значения,потом считывать их, чем не решение?
только это будет массив строк, а не массив double
Цитата Сообщение от hoggy Посмотреть сообщение
а не несешь всякую чушь: "так нельзя"
как нельзя?
создать массив из разношерстных элементов нельзя
а обернуть эти элементы какой то контейнер и создать массив из этих контейнеров можно
но кто-нибудь объяснит зачем?
1
 Аватар для SomniPhobia
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
12.08.2019, 10:07
Цитата Сообщение от ValeryS Посмотреть сообщение
создать массив из разношерстных элементов нельзя
Тип - это абстракция, призванная обеспечить целостность. А также преобразование значений.
В памяти значения хранятся в двоичном представлении, а тип указывает как интерпретировать тот или иной набор 1 и 0.
Я попробовал, написал код. Программа выделяет блок памяти и помещает в него разнотипные значения. Затем их можно прочитать, зная по сколько блоков памяти брать и каким типом это воспринять.
Дело в том, что у меня мало опыта работы с указателями, я расповадился STL-ом. Код, который я набрал работает не корректно. Кто желает - отредактируйте и выложите его или напишите свой на идею обезличенного обращения к памяти. Мне интересно увидеть рабочий код.

Кликните здесь для просмотра всего текста

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#include <iostream>
#include <vector>
#include <numeric>
#include <algorithm>
 
template <typename T>
T* pusher(void* ptr, T value)
{
    *(static_cast<T*>(ptr)) = value;
    auto new_ptr = static_cast<T*>(ptr) + sizeof(T);
    std::cout << "pusher(): pointer = " << static_cast<T*>(ptr)
        << " type = " << typeid(T).name()
        << " value = " << *(static_cast<T*>(ptr)) << "\n";
    return new_ptr;
}
 
template <typename T>
void* reader(void* ptr, T& value)
{
    value = *(static_cast<T*>(ptr));
    auto new_ptr = static_cast<T*>(ptr) + sizeof(T);
    std::cout << "reader(): pointer = " << static_cast<T*>(ptr)
        << " type = " << typeid(T).name()
        << " value = " << *(static_cast<T*>(ptr)) << "\n";
    return new_ptr;
}
 
int main()
{
    setlocale(LC_ALL, "Rus");
 
    size_t count_bytes = 5u * (sizeof(double) + sizeof(bool) + sizeof(int));
    //std::cout << "count_bytes = " << count_bytes << "\n";
    void* arr = calloc(count_bytes, 1);
    void* arr2 = arr;
    void* arr3 = arr;
    {
        size_t idx = 0u;
        for (; idx < 5u; ++idx)
            arr = pusher(arr, static_cast<double>(0.5 * idx));
        for (; idx < 10u; ++idx)
            arr = pusher(arr, static_cast<bool>(idx & 1u));
        for (; idx < 15u; ++idx)
            arr = pusher(arr, static_cast<int>(2 * idx));
    }
    std::cout << "\n";
    {
        size_t idx = 0u;
        for (; idx < 5u; ++idx)
        {
            double value;
            arr2 = reader(arr2, value);
            std::cout << value << "\n";
        }
        for (; idx < 10u; ++idx)
        {
            bool value;
            arr2 = reader(arr2, value);
            std::cout << std::boolalpha << value << "\n";
        }
        for (; idx < 15u; ++idx)
        {
            int value;
            arr2 = reader(arr2, value);
            std::cout << value << "\n";
        }
    }
    free(arr3);
    std::cout << "\n";
 
    return 0;
}


На скрине приведёно успешное выполнение программы. Она то крашится, то норм. выполняется. Я говорю, что в указателях не столь хорошо разбираюсь на текущий момент.
Миниатюры
Можно ли создать массив в котором с 0 по 4 элемент будут храниться double, с 5 по 9 будут храниться int и т.д.?  
0
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
12.08.2019, 10:17
Цитата Сообщение от SomniPhobia Посмотреть сообщение
Код, который я набрал работает не корректно. Кто желает - отредактируйте и выложите его или напишите свой на идею обезличенного обращения к памяти.
Это какая-то жесть, чесслово я не думаю что кому-то когда-то может понадобиться то, что вы пытаетесь реализовать.

Идея и потребность в сохранении разных примитивных типов в одном контейнере вполне прозрачна и объяснима, но то что пытаетесь сделать вы - грязные трюки для каких-нибудь соревнований по мастерству владения Си/С++, которые нельзя нигде применять.
0
 Аватар для SomniPhobia
602 / 439 / 137
Регистрация: 22.11.2017
Сообщений: 1,407
12.08.2019, 10:47
WxMaper, это для эксперимента. Таким конечно не надо пользоваться.
Я нашёл ошибку в своём коде: при инкрементации указателя смещение происходит на автоматически рассчитанное приращение, исходя из типа. То есть надо писать не так
C++
1
T* new_ptr = static_cast<T*>(ptr) + sizeof(T) * n;
А так. Компилятор сам прибавляет sizeof(T) * n вместо n
C++
1
T* new_ptr = static_cast<T*>(ptr) + n;
где для данного кода n = 1.
Теперь всё работает успешно.

Кликните здесь для просмотра всего текста

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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
#include <iostream>
#include <vector>
#include <numeric>
#include <algorithm>
 
template <typename T>
T* pusher(void* ptr, T value)
{
    *(static_cast<T*>(ptr)) = value;
    T* new_ptr = static_cast<T*>(ptr) + 1;
    std::cout << "pusher(): pointer = " << static_cast<T*>(ptr)
        << " type = " << typeid(T).name()
        << " sizeof(T) = " << sizeof(*(static_cast<T*>(ptr)))
        << " value = " << *(static_cast<T*>(ptr)) << "\n";
    return new_ptr;
}
 
template <typename T>
void* reader(void* ptr, T& value)
{
    value = *(static_cast<T*>(ptr));
    T* new_ptr = static_cast<T*>(ptr) + 1;
    std::cout << "reader(): pointer = " << static_cast<T*>(ptr)
        << " type = " << typeid(T).name()
        << " value = " << *(static_cast<T*>(ptr)) << "\n";
    return new_ptr;
}
 
int main()
{
    setlocale(LC_ALL, "Rus");
 
    size_t count_bytes = 5u * (sizeof(double) + sizeof(bool) + sizeof(int));
    std::cout << "count_bytes = " << sizeof(int) << "\n";
    void* arr = calloc(count_bytes, 1);
    void* arr2 = arr;
    void* arr3 = arr;
    {
        size_t idx = 0u;
        for (; idx < 5u; ++idx)
            arr = pusher(arr, static_cast<double>(0.5 * idx));
        for (; idx < 10u; ++idx)
            arr = pusher(arr, static_cast<bool>(idx & 1u));
        for (; idx < 15u; ++idx)
            arr = pusher(arr, static_cast<int>(2 * idx));
    }
    std::cout << "\n";
    {
        size_t idx = 0u;
        for (; idx < 5u; ++idx)
        {
            double value;
            arr2 = reader(arr2, value);
            std::cout << value << "\n";
        }
        for (; idx < 10u; ++idx)
        {
            bool value;
            arr2 = reader(arr2, value);
            std::cout << std::boolalpha << value << "\n";
        }
        for (; idx < 15u; ++idx)
        {
            int value;
            arr2 = reader(arr2, value);
            std::cout << value << "\n";
        }
    }
    free(arr3);
    std::cout << "\n";
 
    return 0;
}
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
12.08.2019, 13:39
Цитата Сообщение от WxMaper Посмотреть сообщение
Идея и потребность в сохранении разных примитивных типов в одном контейнере вполне прозрачна
WxMaper, вам это кажется. Можно использовать различные структуры в виде элементов контейнера, но тогда потребуется ещё один уровень доступа. Индекс или итератор контейнера обеспечит доступ к типу - структура. Потом нужно будет достучаться до конкретного типа из этой структуры обратившись к нужному элементу.
Дело даже не в том, что итерация по такому бульдогу-с-носорогом, это грязный мазохизм. Тут всегда найдутся пару любителей такого рода занятий. Дело именно в том, что это не будет массив указанный в условии. Вы формулируете сломанную абстракцию вроде: солёного сахара, высоко-выпуклой ямы, ослепительно белой черноты... Типичные игры ума не тренированного предметным мышлением (имхо).
0
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
12.08.2019, 13:45
Цитата Сообщение от IGPIGP Посмотреть сообщение
вам это кажется
С чего вдруг мне это кажется? Приведите контраргументы, почему я не прав?

Для решения каждой задачи требуется конкретный подход. И я уже привёл достаточно весомый аргумент, когда решение такой задачи конкретно таким образом действительно рационально и реализовать по другому просто либо НЕ ВОЗМОЖНО, либо НЕ ЦЕЛЕСООБРАЗНО.

Вот когда вы напишете свой алгоритм парсинга для JSON-объекта на С++ без использования контейнеров типа variant, тогда и поговорим какого ума это игры.
А до тех пор вы только бла-бла-блакаете о том, чего совершенно не понимаете.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
12.08.2019, 13:51
Цитата Сообщение от ValeryS Посмотреть сообщение
формально ли?
формально.

формально, массив чар хранит чары.
а по факту - объекты любого типа,
например.

Цитата Сообщение от ValeryS Посмотреть сообщение
а еще можно создать массив строк и вписывать туда значения,потом считывать их, чем не решение?
с бородатых времен для подобных целей использовался массив char.
и когда я пишу: "для подобных", то имею ввиду:
с целью обеспечить вариативность типа без привлечения динамической памяти.

C++
1
2
3
4
5
6
...
char buffer[variant::max_size];
...
 
new(buffer) T(params);
...
формально, buffer - массив элементов типа char
а по факту - storage для объектов любых типов,
чей sizeof(T) <= variant::max_size

и это - прекрасное решение.
вот только ты почему то думаешь:
Цитата Сообщение от ValeryS Посмотреть сообщение
нет нельзя
массив по своему определению ГОМОГЕННЫЙ, сиречь содержит одинаковые члены
то что ты хочешь это структура,класс, все что угодно только не массив
у тебя, похоже, ГОМОГЕНН головного мозга.

Цитата Сообщение от ValeryS Посмотреть сообщение
создать массив из разношерстных элементов нельзя
объекты union разношерстные по определению термина union
а значит массив из элементов union - так же разношерстный по определению термина union

Цитата Сообщение от ValeryS Посмотреть сообщение
кто-нибудь объяснит зачем?
почитай область применения для std::variant.
почитай область применения для std::any.

хотя лучше начни с области применения union.


а так, если вкратце:
например, к библиотечному виджету нужно прицепить какие то данные бизнес-логики.
в большинстве случаев для этого предоставляется void* user_data,
со всеми вытекающими последствиями.
а можно было бы использовать удобный и безопасный std::any

если захочешь сделать цивилизованный класс json,
тогда познаешь всю прелесть std::variant.

Кликните здесь для просмотра всего текста
json - это дерево, элементами которого могут быть: bool/int/double/string
а так же vector из всех выше перечисленных элементов.
и map <строка, все-выше-перечисленные-типы-включая-вектор>

итого:
C++
1
2
3
4
5
6
7
8
9
10
11
using single    
    = std::variant<bool,int,double,std::string>;
 
using vec    
    = std::vector<var>;
 
using map 
    = std::map<std::string, std::variant<single, vec>;
 
using node 
    = std::variant<single, vec, map>;

и мы получаем дерево, которое легко и непринужденно сможет
создавать/хранить иерархичные структуры любой сложности,
ака variant в языке питон:


json obj;
obj["hello"][0] = true;
obj["world"][0] = 333;
obj["ValeryS"] = "не тупи";

std::cout << obj << '\n';

0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
12.08.2019, 14:12
Цитата Сообщение от hoggy Посмотреть сообщение
объекты union разношерстные по определению термина union
давно ли???
объект займет максимум
если
C++
1
2
3
4
5
union 
{
 char a;
 int b;
}
то размер будет равен размеру int, хотя загнали туда char
Цитата Сообщение от hoggy Посмотреть сообщение
формально.
так ответь
Цитата Сообщение от ValeryS Посмотреть сообщение
sizeof(arr[0])==sizeof(arr[5]) да или нет?
а sizeof(arr[0])==sizeof(double) да или нет?
а sizeof(arr[0])==sizeof(int) да или нет?
а sizeof(arr[0])==sizeof(bool) да или нет?
Добавлено через 1 минуту
Цитата Сообщение от hoggy Посмотреть сообщение
почитай область применения для std::variant.
почитай область применения для std::any.
хотя лучше начни с области применения union.
т.е объяснить не можешь? умное лицо и причастность к страшной тайне, кою разглашать нельзя
0
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
12.08.2019, 14:56
Цитата Сообщение от IGPIGP Посмотреть сообщение
Типичные игры ума не тренированного предметным мышлением (имхо).
А давайте поможем IGPIGP натренировать его ум!
Название: images.jpg
Просмотров: 44

Размер: 7.6 Кб

Чтобы немного вас приземлить, сделаем выборку: отправляем запрос в гугл "json c++" и собираем популярные библиотеки.
1. Библиотека JSON for Modern C++. https://github.com/nlohmann/js... n.hpp#L871
Что тут у нас? Объединение union json_value. Не очень-то похоже на «бульдога-с-носорогом», но по вашей логике автору кажется, что ему надо было создавать такое объединение, да?

2. Библиотека RapidJSON. https://github.com/Tencent/rap... nt.h#L2017
Да что же такое! Повсюду
Цитата Сообщение от IGPIGP Посмотреть сообщение
грязный мазохизм
3. Библиотека taoJSON. https://github.com/taocpp/json... on.hpp#L26
Как же эти ребята заблуждаются...

От себя добавлю класс QJsonValue из библиотеки Qt, в выдаче его не было. https://code.woboq.org/qt5/qtb... h.html#165
Ой, что это? Снова объединение. Досада какая, надо товарищам из Digia сообщить, что им кажется, что они делают всё правильно. На самом деле у них получился «бульдог-с-носорогом».

json - это самое первое и очевидное, что приходит в голову.
Ещё могут быть xlsx-таблицы. И как так люди умудряются в одну колонку засовывать и текст, и числа... что за грязный мазохизм?
XML во всех его видах, когда параметр тега - всегда строка, но данные в нем могут быть любого зарегистрированного типа.
Данные из любой BD прилетают в буфер, буфер у нас что? Обратимся к моему любимому Qt: QSqlQuery::value. Снова треклятый variant. А если я хочу отправить что-то в БД? Ну конечно можно 10 раз объявить bindValue для разных типов, чем просто задействовать вариативный тип, который так или иначе будет преобразован в строку QSqlQuery::bindValue.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
12.08.2019, 15:08
Цитата Сообщение от WxMaper Посмотреть сообщение
С чего вдруг мне это кажется? Приведите контраргументы, почему я не прав?
WxMaper, я их перечислил сразу всед за этой фразой. И то что вы их не восприняли меня не удивляет. Люди же не случайно пишут подобные вопросы. Вы такой не один. Вот тут аргументация.
Цитата Сообщение от IGPIGP Посмотреть сообщение
Можно использовать различные структуры в виде элементов контейнера, но тогда потребуется ещё один уровень доступа. Индекс или итератор контейнера обеспечит доступ к типу - структура. Потом нужно будет достучаться до конкретного типа из этой структуры обратившись к нужному элементу.
Дело даже не в том, что итерация по такому бульдогу-с-носорогом, это грязный мазохизм. Тут всегда найдутся пару любителей такого рода занятий. Дело именно в том, что это не будет массив указанный в условии. Вы формулируете сломанную абстракцию вроде: солёного сахара, высоко-выпуклой ямы, ослепительно белой черноты... Типичные игры ума не тренированного предметным мышлением (имхо).
и ещё:
Цитата Сообщение от WxMaper Посмотреть сообщение
Вот когда вы напишете свой алгоритм парсинга для JSON-объекта на С++ без использования контейнеров типа variant, тогда и поговорим какого ума это игры.
А кто сказал, что такие задачи решают люди с умением абстрагировать. Они и не умеют. Они пытаются притянуть готовые абстракции к предметной области и получаются логические монстры.
Вдобавок скажу еще о массивах. Кроме массива как массива однотипных данных по способу хранения (арифметика адресов) существует контракт - массив. Сущность поддерживающая оператор индексации.
В обоих случаях массив происходит от слова масса. Дело не в весе или сплошности монолита хранения. Дело в фундаментальном свойстве алгоритма, называемом массовостью. Именно массивы позволяют реализовать массовые проходы по группам объектов с применением алгоритмов. Их называют итерациями. И структуры, в частности, предназначены для борьбы со сложностью сопряженных массивов. Массив структур легче обрабатывать, начиная от инициализации и до самого освобождения. Таким образом те кто создают массивы бульдого-носорогов это люди не умеющие пользоваться ни статическим ни динамическим полиморфизмом. В результате когда вы будете итерировать, итерирующему блоку нужно будет знать, где заканчиваются целые, начинаются и заканчиваются дабл и т.п. Я не могу ни чего сделать, чтобы улучшить ситуацию и когда пользуюсь подобными миазмами, успокаиваю себя тем, что писать собственную библиотеку никто не даст. Но и не более.

Добавлено через 6 минут
Цитата Сообщение от WxMaper Посмотреть сообщение
А давайте поможем IGPIGP натренировать его ум!
Я и помогаю. Однако математики не любят физику. В отделе физика я насмотрелся вопросов от людей не имевших тренинга абстрагирования. Они хорошо работают с готовыми абстракциями, пишут страницы сложных уравнений... но не умеют создавать эти абстракции от предмета. Если хотите - прошу в раздел физика, - берите Перельмана или что-то ещё. И я сделаю всё что позволит время и ваше упорство.
0
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
12.08.2019, 15:09
Цитата Сообщение от IGPIGP Посмотреть сообщение
И то что вы их не восприняли меня не удивляет
Не привык воспринимать бредятину как аргумент.
Не нравится то, как устроен объектно-ориентированный C++? Пишите на процедурном Cи или чем вы там грезите.
А притягивать за уши парадигму непонятно чего в раздел С++ не следует, а то вы выглядите тут дураком. При чем сами это понимаете:
Цитата Сообщение от IGPIGP Посмотреть сообщение
писать собственную библиотеку никто не даст
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
12.08.2019, 15:14
Цитата Сообщение от WxMaper Посмотреть сообщение
Не привык воспринимать бредятину как аргумент.
Это и есть способ хама выразить свою мысль. Я вашши тексты не оценивал и прошу воздержаться.
Цитата Сообщение от WxMaper Посмотреть сообщение
Не нравится то, как устроен объектно-ориентированный C++?
Опять оценки. Из них можно решить, что вы знаете как он устроен, а мне он, стало быть (якобы) не нравится. Опять жлобство. Низкопробное.
Цитата Сообщение от WxMaper Посмотреть сообщение
А притягивать за уши парадигму непонятно чего в раздел С++ не следует, а то вы выглядите тут дураком. При чем сами это понимаете:
Не развесили но и не удивили. Счастливо оставаться умником. Надежд у вас ни каких.
0
96 / 82 / 22
Регистрация: 19.10.2013
Сообщений: 485
12.08.2019, 15:36
Цитата Сообщение от IGPIGP Посмотреть сообщение
Это и есть способ хама выразить свою мысль
Я свои мысли выражаю в правильных местах, в отличие от вас.
Если бы к вам в дом пришли инаковерующие и начали впаривать свою религию, как бы вы к этому отнеслись? Угостили бы их чаем и выслушали? Сомневаюсь.
Если бы сносить стены вместо строителей к вам в дом пришли археологи с кисточками, вы бы впустили их?

Я еще раз выделю для вас жирным это заветное слово: ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ С++. И когда разработчики создают объекты для решения своих задач - это не
Цитата Сообщение от IGPIGP Посмотреть сообщение
грязный мазохизм
- это использование парадигмы программирования. Это корректный способ для достижения цели в рамках использования конкретного инструмента - языка программирования С++.
Я выбрал для себя программирование на С++ по ряду причин. И тут приходите вы (а вы, собственно, кто?) и говорите, что так как программируют на С++ - это не правильно.
Притягиваете сюда какое-то предметное мышление. С++ по своему определению НЕ ЯВЛЯЕТСЯ предметно-ориентированным инструментом.

Цитата Сообщение от IGPIGP Посмотреть сообщение
Из них можно решить, что вы знаете как он устроен
Из них можно решить только то, что я и ваши работодатели, которые не дают вам писать собственные библиотеки, знаем как использовать инструмент эффективно, снова в отличие от вас.

Цитата Сообщение от IGPIGP Посмотреть сообщение
Надежд у вас ни каких
Зато у вас целый вал!
Надеюсь вы осознаете, что выслушивать философствования вида
Цитата Сообщение от IGPIGP Посмотреть сообщение
кто сказал, что такие задачи решают люди с умением абстрагировать
от непонятно кого на техническом ресурсе - занятие не из приятных. Это как купить билет на выставку картин, а прийти по нему на метал-концерт группы Rammstein.

Цитата Сообщение от IGPIGP Посмотреть сообщение
Счастливо оставаться умником
Научитесь пользоваться инструментом правильно, а потом уже выражайте своё мнение.
Только удостоверьтесь, что ваше мнение не противоречит хотя бы базовым принципам работы с инструментом.
А то так и будете про предметность рассказывать в разделе С++.
0
Эксперт С++
 Аватар для hoggy
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
12.08.2019, 15:39
Цитата Сообщение от ValeryS Посмотреть сообщение
давно ли???
всегда.

Цитата Сообщение от ValeryS Посмотреть сообщение
объект займет максимум
и чо?

вот к чему ты это написал?

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

Цитата Сообщение от ValeryS Посмотреть сообщение
так ответь
размер элемента массива статичен.
и?
смысл вообще у твоего вопроса какой?

Цитата Сообщение от ValeryS Посмотреть сообщение
т.е объяснить не можешь?
откуда ты взял своё "т.е" ?

вкратце я итак расписал.
если что-то не понятно - задавай конкретные вопросы.

никто здесь не будет тебе расжёвывать азы языка.
0
Комп_Оратор)
Эксперт по математике/физике
 Аватар для IGPIGP
9007 / 4708 / 630
Регистрация: 04.12.2011
Сообщений: 14,003
Записей в блоге: 16
12.08.2019, 16:33
WxMaper,
0
Модератор
Эксперт по электронике
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,874
12.08.2019, 16:45
Цитата Сообщение от hoggy Посмотреть сообщение
всегда.
что всегда?
Цитата Сообщение от hoggy Посмотреть сообщение
объекты union разношерстные по определению термина union
я правильно понял что размер объекта union может варьироваться сам как хочет?
Цитата Сообщение от hoggy Посмотреть сообщение
размер элемента массива статичен.
и?
дальше ? там 4 вопроса
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,035
Записей в блоге: 1
12.08.2019, 18:11
Цитата Сообщение от SomniPhobia Посмотреть сообщение
До C++17
C++
1
2
//еще
auto t = std::make_tuple(5, true, 0.14)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.08.2019, 18:11
Помогаю со студенческими работами здесь

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

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

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

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

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Хитросплетение родственных связей пантеона греческих богов.
russiannick 14.05.2026
Однооконник, позволяющий узреть и изучить отдельных героев древней Греции. <!DOCTYPE html> <html lang="ru"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible". . .
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru