Форум программистов, компьютерный форум CyberForum.ru

Деструкторы, аналоги освобождения памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание простого приложения для Windows 9x/NT, решил как смог. Пожалуйста подскажите что исправить или добавить http://www.cyberforum.ru/cpp-beginners/thread321561.html
задание: окно фон зелёный размер 500х400 курсор IDT_HAND При закрытии окна вывести ФИО Мой вариант: HWND hWnd Wnd Class wc; wc.Style=NULL; wc.hCursor=LoadCursor(NULL,IDT_HAND) wc.lpszMenuName=NULL;
C++ Минус ноль Товарищи, ничего не соображаю. Элементарная программа выводит корни квадратного уравнения. #include <iostream> #include <iomanip> #include <cmath> using namespace std; int main() { http://www.cyberforum.ru/cpp-beginners/thread321441.html
Ошибка что то типа не объявленный идентификатор,и типа невозможно преобразовать CStringW в там что..то C++
Даже не знаю как сказать... короче есть база а Access,которую я подключил к проекту MFC,и в этой базе всего одно поле с текстовым типом данных,в с++ который называется CStringW,и вот я его не могу вывести,везде выдает ошибку с переменной данного типа. Ошибка что то типа не объявленный идентификатор,и типа невозможно преобразовать CStringW в там что..то Помогите!!!!!!
C++ Текстовые файлы
Задание: Дана строка S, состоящая из 10 цифр, и файл с русским текстом. Зашифровать файл, выполнив циклическую замену каждой русской буквы, стоящей на K-й позиции строки, на букву того же регистра, расположенную в алфавите на SK-м месте после шифруемой буквы (для K = 11 снова используется смещение S1 и т. д.). Букву «ё» в алфавите не учитывать, знаки препинания и пробелы не изменять. ...
C++ Сохранить запись в файл http://www.cyberforum.ru/cpp-beginners/thread320416.html
Есть программа: #include<iostream.h> #include<conio.h> #include<string.h> struct price { char tovar_name; char shop_name; float cost; };
C++ IEnumIDList::Next Буду краток, данный код не работает. Параметр LPITEMIDLIST pidl я передаю правильный! Пожалусто пишите по сути... LPITEMIDLIST * CPidlList::MkItemIDList(LPITEMIDLIST pidl) { IShellFolder *pFolder = NULL; IEnumIDList *pEnum; ULONG fa = SFGAO_FILESYSTEM,cFetched = 0; if(bInit && pidl != 0) { if((hRes = pShell->BindToObject(pidl, NULL, IID_IShellFolder, (void**)&pFolder )) != S_OK) подробнее

Показать сообщение отдельно
silent_1991
Эксперт С++
4956 / 3032 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
17.06.2011, 21:23     Деструкторы, аналоги освобождения памяти
Не понятно, о чём конкретно речь. Если именно о языке C++, то память, выделенную в течение времени жизни объекта, надо возвращать в деструкторе, посредством вызовов оператора delete (при условии, что вся память выделялась через new). Иначе память будет утекать. Если же речь о концепциях вообще, то существует вариант со сборкой мусора, когда вы выделяете память вручную, а о возвращении системе программа позаботится сама. Один из вариантов реализации (самый, наверное, известный) - подсчёт ссылок, когда объект удаляется только после того, как в программе нигде не остаётся ссылок на него (т.е. фактически когда он безвозвратно теряется). Однако существуют и другие концепции. Чистый C++ всего этого не поддерживает, там надо строго следить за возвращением выделенной памяти. Происходит эта слежка, как уже сказано, в деструкторе (если речь об объектах классов) или просто по ходу программы, когда выделенная память становится не нужна.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru