|
Alvin Seville
|
|||||||
stack_t<T> не компилируется19.02.2019, 15:55. Показов 3083. Ответов 43
Метки нет (Все метки)
Вторая попытка. Решил сегодня заняться стеком. Вот что вышло:
0
|
|||||||
| 19.02.2019, 15:55 | |
|
Ответы с готовыми решениями:
43
Программа компилируется в Borland 6.0 но не компилируется в Visual Studio 2008 Компилируется в С++ bulder 6.0 но не компилируется в VS 2010 express В формате .cpp код компилируется, а в .c не компилируется |
|
"C with Classes"
|
|||
| 19.02.2019, 15:58 | |||
|
Добавлено через 1 минуту
0
|
|||
|
Alvin Seville
|
||
| 19.02.2019, 15:58 [ТС] | ||
|
Убрал её и:
0
|
||
|
"C with Classes"
|
|
| 19.02.2019, 15:58 | |
|
1
|
|
|
"C with Classes"
|
||
| 19.02.2019, 16:01 | ||
|
0
|
||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|
| 19.02.2019, 16:01 | |
|
Соколиный глаз, шас бы маллок и new вместе использовать в С++ в 2019 году..
1
|
|
|
"C with Classes"
|
|
| 19.02.2019, 16:03 | |
|
---
0
|
|
|
Alvin Seville
|
|
| 19.02.2019, 16:04 [ТС] | |
|
Azazel-San, варианты? Я новичок в C++, если поможете, буду благодарен.
![]() Добавлено через 59 секунд _stanislav, а на что поменять логику?
0
|
|
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
||
| 19.02.2019, 16:04 | ||
|
0
|
||
|
Alvin Seville
|
|
| 19.02.2019, 16:05 [ТС] | |
|
Azazel-San, должен извлекать элемент на вершине стека, а также обнулять освободившееся место.
0
|
|
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
||
| 19.02.2019, 16:10 | ||
|
1
|
||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|||
| 19.02.2019, 16:12 | |||
![]()
1
|
|||
|
Alvin Seville
|
||||||
| 19.02.2019, 16:15 [ТС] | ||||||
|
Azazel-San, ну, я хочу занулить освободившееся место. Если там была ссылка на объект, то она без очистки будет так и висеть, пока новый элемент её не сменит. Для решения этой проблемы в C# я написал такой код:
0
|
||||||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
||
| 19.02.2019, 16:18 | ||
|
1
|
||
|
Alvin Seville
|
|
| 19.02.2019, 16:19 [ТС] | |
|
Azazel-San, а как мне тогда установить значение по умолчанию для удалённого элемента стека типа T?
0
|
|
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
||
| 19.02.2019, 16:22 | ||
|
Соколиный глаз, зачем вам динамика уже, я вижу вы стек хотите сделать на массиве, начните с обычного)
Добавлено через 3 минуты
1
|
||
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
||||||||
| 19.02.2019, 16:29 | ||||||||
0
|
||||||||
|
Alvin Seville
|
||||||
| 19.02.2019, 16:30 [ТС] | ||||||
|
Хорошо.
0
|
||||||
|
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
|
|||
| 19.02.2019, 16:32 | |||
Сообщение было отмечено Соколиный глаз как решение
РешениеВ С# ситуация другая. Для ссылочных типов значением по умолчанию будет null, что в C++ сделать, конечно, можно, но потребует дополнительных накладных расходов во время выполнения. Не нужно пытаться полностью перенести модель C# в C++. Ваше решение осложняет задачу тем, что у вас разделены процессы выделения памяти (выделяем пул заранее) и конструирования объектов. Задача была бы проще, если бы в качестве хранилища вы использовали список. Но такое решение может оказаться менее производительным. Если же мы решили выделять буфер заданной емкости, то нужно следить за такими вещами: 1. Для выделения буфера использовать operator new. Он выделит память, но не вызовет конструктор T. 2. Для конструирования объектов использовать placement new. Он использует уже выделенную память и только вызывает конструктор. С момента вызова конструктора начинается время жизни объекта. 3. При извлечении элемента нужно вручную вызвать деструктор. Только после этого в том же участке памяти можно конструировать другой объект с помощью placement new. Добавлено через 1 минуту
1
|
|||
|
Alvin Seville
|
||
| 19.02.2019, 16:35 [ТС] | ||
|
Добавлено через 2 минуты Заработало! Счастье то какое.
0
|
||
| 19.02.2019, 16:35 | |
|
Помогаю со студенческими работами здесь
20
Заголовочный файл, который компилируется в VS2017, не компилируется в Qt Не компилируется Не компилируется Не компилируется!!!! Не компилируется Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
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
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|