Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 15

Class stack в объектно ориентированном программировании

09.04.2020, 15:57. Показов 1438. Ответов 29
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот вроде понял и что такое стек, и что такое классы и как их реализовать в отдельности. Но как их объеденить в одну программу представления не имею. Пожалуйста, хотя бы подтолкните в нужном направлении, уже много подобных тем просмотрел, но мало что из них понял.
Миниатюры
Class stack в объектно ориентированном программировании  
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.04.2020, 15:57
Ответы с готовыми решениями:

Полиморфизм в объектно-ориентированном программировании.Перегрузка функций
Помогите,пожалуйста,написать программу.В DevC++.

Классы в объектно-ориентированном программировании. С++
Здравствуйте! Подскажите, пожалуйста. Необходимо реализовать задачу на языке С++: Создать класс окружность, член класса - R....

Простой калькулятор в объектно-ориентированном стиле
Здравствуйте. А можно написать совсем простой калькулятор типа: Введите 2 числа Выберите операцию Результат с классом?...

29
1 / 0 / 1
Регистрация: 20.01.2017
Сообщений: 25
26.04.2020, 23:58
А что не получается?
0
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 15
27.04.2020, 17:36  [ТС]
Вот что у меня получилось, но не понимаю почему деструктор не правильно работает
Stack.h
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
#pragma once
#include <iostream>
using namespace std;
class Stack
{
    struct Node
    {
        Node() : next(NULL), value(0)
        {};
        Node(unsigned int val) : value(val)
        {};
        Node(unsigned int val, Node* node_next) : value(val), next(node_next)
        {};
        Node* next;
        unsigned int value;
    };
private:
    
    Node* top_Element;
    Node* this_Element;
    unsigned int amount_of_elements;
public:
    Stack();
    Stack(const Stack& obj);
    
 
    void set_top_Element(unsigned int data_top_Element);
    void set_this_Element(unsigned int data_this_Element);
    unsigned int get_top_Element() const;
    unsigned int get_this_Element() const;
    unsigned int get_amount_of_elements() const;
 
    void push(unsigned int val);
    void pop();
    bool IsEmpty() const;
 
 
    Stack operator + (unsigned int val) ;
    Stack operator - () ;
    Stack operator -- () ;
    Stack operator ++ () ;
    int operator [] (unsigned int index) ;
    friend ostream& operator << (ostream& cout, Stack steck);
    Stack operator = (const Stack& steck);
 
    ~Stack();
};
Stack.cpp
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#include "Stack.h"
/*----------Constructor and Destructor-----------------*/
Stack::Stack() : top_Element(NULL), this_Element(NULL), amount_of_elements(0)
{}
 
 
Stack::Stack(const Stack& obj) : top_Element(obj.top_Element), this_Element(obj.this_Element), amount_of_elements(obj.amount_of_elements)
{}
 
 
Stack::~Stack()
{
    while (!IsEmpty())
    {
        pop();
    }
}
/*----------Getters and Setters-----------------*/
void Stack::set_top_Element(unsigned int data_top_Element)
{
    top_Element->value = data_top_Element;
}
void Stack::set_this_Element(unsigned int data_this_Element)
{
    this_Element->value = data_this_Element;
}
 
unsigned int Stack::get_top_Element() const
{
    return top_Element->value;
}
unsigned int Stack::get_this_Element() const
{
    return this_Element->value;
}
unsigned int Stack::get_amount_of_elements() const
{
    return amount_of_elements;
}
 
void Stack::push(unsigned int val)
{
    if (top_Element != NULL)
    {
        Node* temp = new Node(val, this_Element);
        this_Element = temp;
        top_Element = this_Element;
    }
    else {
        top_Element = new Node(val);
        this_Element = top_Element;
    }
    amount_of_elements++;
}
 
void Stack::pop()
{
    if (top_Element == NULL)
    {
        cout << "Stack is empty!";
    }
    else
    {
        Node* temp = this_Element;
        this_Element = this_Element->next;
        delete temp;
        top_Element = this_Element;
        amount_of_elements--;
    }
}
 
bool Stack::IsEmpty() const
{
    return amount_of_elements == 0;
}
 
/*----------Operations-----------------*/
Stack Stack::operator+(unsigned int val)
{
    push(val);
    return *this;
}
 
Stack Stack::operator-() 
{
    pop();
    return *this;
}
 
Stack Stack::operator--()
{
 
    this_Element = top_Element;
    return *this;
}
 
Stack Stack::operator++()
{
    if (this_Element != NULL)
    {
        this_Element = this_Element->next;
    }
    else {
        cout << "End of Stack!";
    }
    return *this;
}
 
int Stack::operator[](unsigned int index)
{
    
    if (index > amount_of_elements)
    {
        cout << "Index out of range!";
    }
    else {
        this_Element = top_Element;
        for (Node* temp = top_Element; index > 0; index--, temp = temp->next, this_Element = temp)
        {
        }
        return this_Element->value;
    }
}
 
Stack Stack::operator=(const Stack& steck)
{
    if (this != &steck)
    {
        top_Element = steck.top_Element;
        this_Element = steck.this_Element;
        amount_of_elements = steck.amount_of_elements;
    }
    return *this;
}
 
/*----------Print function-----------------*/
ostream& operator<<(ostream& cout, Stack steck)
{
    if (steck.top_Element != NULL)
    {
        for (int i = 0; i < steck.get_amount_of_elements(); i++)
        {
            cout << "| " << steck[i] << " |";
        }
    }
    else {
        cout << "Stack is empty!";
    }
    return cout;
}
0
1 / 0 / 1
Регистрация: 20.01.2017
Сообщений: 25
27.04.2020, 17:40
Чем отличаются this_Element и top_Element?
0
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 15
27.04.2020, 17:42  [ТС]
ничем, это просто по заданию
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
27.04.2020, 22:02
Цитата Сообщение от Towara Посмотреть сообщение
Вот что у меня получилось, но не понимаю почему деструктор не правильно работает
У тебя конструктор копирования неправильно написан. Надеюсь, ты его нигде не используешь?
0
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 15
27.04.2020, 22:41  [ТС]
Использую:
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
void main()
{
    Stack steck1;
    Stack steck2;
    unsigned int size = 0, del = 0, index = 0;
    cout << "Enter the size of stack: ";
    cin >> size;
 
    for (int i = 0; i < size; i++) {
        steck1.operator+(rand());
    }
    cout << "\nStack:\n";
    cout << steck1;
    steck2 = steck1;
    
    
    do
    {
        cout << "\n\nInput amount of values you want to delete: ";
        cin >> del;
    } while ((del < 0) || (del >= steck2.get_amount_of_elements()));
 
    for (int i = 0; i < del; i++) {
        steck2.operator-();
    }
    
    cout << steck2;
 
    steck2.operator--();
    cout << "\n\nThe value of pointer (moving to the beginning): " << steck2.get_this_Element() << endl;
 
    if (steck2.get_amount_of_elements() > 1)
    {
        steck2.operator++();
        cout << "\nThe value of pointer (moving to the next one): " << steck2.get_this_Element() << endl;
 
    }
    else {
        cout << "\nStack has only one element";
    }
    
    do
    {
        cout << "\nInput index: ";
        cin >> index;
    } while ((index < 0) || (index >= steck2.get_amount_of_elements()));
    steck2.operator[](index);
    cout << "\nThe value of [" << index << "] element of stack: " << steck2.get_this_Element() << endl;
}
Добавлено через 1 минуту
Не могли бы вы помочь с написанием деструктора и конструктора копирования?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
27.04.2020, 22:44
Цитата Сообщение от Towara Посмотреть сообщение
Использую:
Поэтому и деструктор не работает - два раза одни и те же данные
0
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 15
27.04.2020, 22:45  [ТС]
Не могли бы вы помочь с написанием деструктора и конструктора копирования?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
27.04.2020, 22:51
Цитата Сообщение от Towara Посмотреть сообщение
Не могли бы вы помочь с написанием деструктора и конструктора копирования?
Что-то типа
C++
1
2
3
4
5
6
7
8
Stack::Stack(const Stack& obj) 
: top_Element(nullptr)
, this_Element(nullptr)
, amount_of_elements(0)
{
    for (auto *p = obj.top_Element; p; p = p->next)
        push(p->val);
}
Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void Stack::swap(Stack &src)
{
    std::swap(top_Element, src.top_Element);
    std::swap(this_Element, src.this_Element);
    std::swap(amount_of_elements, src.amount_of_elements);
}
 
Stack &Stack::operator=(const Stack &src)
{
    if (this != &src)
        Stack(src).swap(*this)
    return *this;
}
0
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 15
27.04.2020, 23:02  [ТС]
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Что-то типа
C++
1
2
3
4
5
6
7
8
Stack::Stack(const Stack& obj) 
: top_Element(nullptr)
, this_Element(nullptr)
, amount_of_elements(0)
{
    for (auto *p = obj.top_Element; p; p = p->next)
        push(p->val);
}
Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void Stack::swap(Stack &src)
{
    std::swap(top_Element, src.top_Element);
    std::swap(this_Element, src.this_Element);
    std::swap(amount_of_elements, src.amount_of_elements);
}
 
Stack &Stack::operator=(const Stack &src)
{
    if (this != &src)
        Stack(src).swap(*this)
    return *this;
}
Это все один конструктор копирования?
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
27.04.2020, 23:04
Цитата Сообщение от Towara Посмотреть сообщение
Это все один конструктор копирования?
В смысле? Это конструктор и оператор копирования. И метод swap
0
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 15
28.04.2020, 12:43  [ТС]
C++
1
2
3
4
5
6
void Stack::swap(Stack &src)
{
    std::swap(top_Element, src.top_Element);
    std::swap(this_Element, src.this_Element);
    std::swap(amount_of_elements, src.amount_of_elements);
}
Пишет что не удается иницилизировать ссылку типа "Stack &" ( квалифицируется как неконстантная) со значением типа Stack::Node*
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
28.04.2020, 13:07
Цитата Сообщение от Towara Посмотреть сообщение
Пишет что не удается иницилизировать ссылку типа "Stack &" ( квалифицируется как неконстантная) со значением типа Stack::Node*
Покажи как сделал, весь код
0
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 15
28.04.2020, 14:44  [ТС]
Цитата Сообщение от oleg-m1973 Посмотреть сообщение
Покажи как сделал, весь код
Stack.h
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
#pragma once
#include <iostream>
using namespace std;
class Stack
{
    struct Node
    {
        Node* next;
        unsigned int value;
        Node(unsigned int val, Node* node_next) : value(val), next(node_next)
        {};
    };
private:
    
    Node* top_Element;
    Node* this_Element;
    unsigned int amount_of_elements;
public:
    Stack();
    Stack(const Stack& obj);
    ~Stack();
 
    void set_top_Element(unsigned int data_top_Element);
    void set_this_Element(unsigned int data_this_Element);
    unsigned int get_top_Element() const;
    unsigned int get_this_Element() const;
    unsigned int get_amount_of_elements() const;
 
    void push(unsigned int val);
    void pop();
    bool IsEmpty() const;
    void swap(Stack& obj);
 
    Stack operator + (unsigned int val) ;
    Stack operator - () ;
    Stack operator -- () ;
    Stack operator ++ () ;
    int operator [] (unsigned int index) ;
    friend ostream& operator << (ostream& cout, Stack obj);
    Stack& operator = (const Stack& obj);
};
Stack.cpp
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include "Stack.h"
/*----------Constructor and Destructor-----------------*/
Stack::Stack() : top_Element(nullptr), this_Element(nullptr), amount_of_elements(0)
{}
 
 
Stack::Stack(const Stack& obj) : top_Element(obj.top_Element), this_Element(obj.this_Element), amount_of_elements(obj.amount_of_elements)
{
    for (Node* temp = obj.top_Element; temp; temp = temp->next)
    {
        push(temp->value);
    }
}
 
 
Stack::~Stack()
{
}
/*----------Getters and Setters-----------------*/
void Stack::set_top_Element(unsigned int data_top_Element)
{
    top_Element->value = data_top_Element;
}
void Stack::set_this_Element(unsigned int data_this_Element)
{
    this_Element->value = data_this_Element;
}
 
unsigned int Stack::get_top_Element() const
{
    return top_Element->value;
}
unsigned int Stack::get_this_Element() const
{
    return this_Element->value;
}
unsigned int Stack::get_amount_of_elements() const
{
    return amount_of_elements;
}
 
void Stack::push(unsigned int val)
{
    if (top_Element != NULL)
    {
        Node* temp = new Node(val, this_Element);
        this_Element = temp;
        top_Element = this_Element;
    }
    else {
        top_Element = new Node(val, nullptr);
        this_Element = top_Element;
    }
    amount_of_elements++;
}
 
void Stack::pop()
{
    if (top_Element == NULL)
    {
        cout << "Stack is empty!";
    }
    else
    {
        Node* temp = this_Element;
        this_Element = this_Element->next;
        delete temp;
        top_Element = this_Element;
        amount_of_elements--;
    }
}
 
bool Stack::IsEmpty() const
{
    return amount_of_elements == 0;
}
 
void Stack::swap(Stack& obj)
{
    swap(top_Element, obj.top_element);
    swap(this_Element, obj.this_Element);
    swap(amount_of_elements, obj.amount_of_elements);
}
 
/*----------Operations-----------------*/
Stack Stack::operator+(unsigned int val)
{
    push(val);
    return *this;
}
 
Stack Stack::operator-() 
{
    pop();
    return *this;
}
 
Stack Stack::operator--()
{
 
    this_Element = top_Element;
    return *this;
}
 
Stack Stack::operator++()
{
    if (this_Element != NULL)
    {
        this_Element = this_Element->next;
    }
    else {
        cout << "End of Stack!";
    }
    return *this;
}
 
int Stack::operator[](unsigned int index)
{
    
    if (index - 1 > amount_of_elements)
    {
        cout << "Index out of range!";
    }
    else {
        Node* temp;
        for (temp = top_Element; index > 0; index--, temp = temp->next)
        {
        }
        return temp->value;
    }
}
 
Stack& Stack::operator=(const Stack& obj)
{
    if (this != &obj)
    {
        Stack(obj).swap(*this);
        /*top_Element = steck.top_Element;
        this_Element = steck.this_Element;
        amount_of_elements = steck.amount_of_elements;*/
    }
    return *this;
}
 
/*----------Print function-----------------*/
ostream& operator<<(ostream& cout, Stack obj)
{
    if (obj.top_Element != NULL)
    {
        for (int i = 0; i < obj.get_amount_of_elements(); i++)
        {
            cout << "| " << obj[i] << " |";
        }
    }
    else {
        cout << "Stack is empty!";
    }
    return cout;
}
main.cpp
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
#include "Stack.h"
 
void main()
{
    Stack steck1;
    Stack steck2;
    unsigned int size = 0, del = 0, index = 0;
    cout << "Enter the size of stack: ";
    cin >> size;
 
    for (int i = 0; i < size; i++) {
        steck1.operator+(rand());
    }
    cout << "\nStack:\n";
    cout << steck1;
    steck2 = steck1;
    
    
    do
    {
        cout << "\n\nInput amount of values you want to delete: ";
        cin >> del;
    } while ((del < 0) || (del >= steck2.get_amount_of_elements()));
 
    for (int i = 0; i < del; i++) {
        steck2.operator-();
    }
    
    cout << steck2;
 
    steck2.operator--();
    cout << "\n\nThe value of pointer (moving to the beginning): " << steck2.get_this_Element() << endl;
 
    if (steck2.get_amount_of_elements() > 1)
    {
        steck2.operator++();
        cout << "\nThe value of pointer (moving to the next one): " << steck2.get_this_Element() << endl;
 
    }
    else {
        cout << "\nStack has only one element";
    }
    
    do
    {
        cout << "\nInput index: ";
        cin >> index;
    } while ((index < 0) || (index >= steck2.get_amount_of_elements()));
    steck2.operator[](index);
    cout << "\nThe value of [" << index << "] element of stack: " << steck2.get_this_Element() << endl;
}
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
28.04.2020, 14:49
Цитата Сообщение от Towara Посмотреть сообщение
void Stack::swap(Stack& obj)
{
    swap(top_Element, obj.top_element);
    swap(this_Element, obj.this_Element);
    swap(amount_of_elements, obj.amount_of_elements);
}
Добавь std::
C++
1
2
3
    std::swap(top_Element, obj.top_Element);
    std::swap(this_Element, obj.this_Element);
    std::swap(amount_of_elements, obj.amount_of_elements);
0
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 15
28.04.2020, 15:08  [ТС]
Не помогло
Миниатюры
Class stack в объектно ориентированном программировании  
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
28.04.2020, 15:09
Цитата Сообщение от Towara Посмотреть сообщение
Не помогло
top_Element
0
0 / 0 / 0
Регистрация: 09.04.2020
Сообщений: 15
28.04.2020, 15:39  [ТС]
Да не в этом же проблема
0
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
28.04.2020, 15:41
Цитата Сообщение от Towara Посмотреть сообщение
Да не в этом же проблема
В этом. Не видишь что-ли, что у тебя там top_еlement с маленькой буквы, красным подчёркнуто
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.04.2020, 15:41
Помогаю со студенческими работами здесь

Реализация задачи в объектно-ориентированном стиле
Здравствуйте. Столкнулась с проблемой. Дали задание на курсовик по ООП в qt. &quot;Требования к выполнению курсовых заданий ...

В объектно ориентированном создать Информатический словарь
Помогите пожалуйста, всю голову себе сломал... нужно в объектно ориентированном создать Информатический словарь. Объясняю проблему: ...

Обработка символьных данных в объектно-ориентированном программировании
Подскажите пожалуйста как программу приведеную ниже заставить правильно работать. В консоле все прекрассно работает а пытаюсь связать с...

Составить программу на встроенном объектно - ориентированном языке Visual Basic for Applications (VBA)

Подскажите где можно использовать class Stack
Изучил class Stack а где его применять не знаю.


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru