powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Три глупых вопроса о С++ /clr
4 сообщений из 54, страница 3 из 3
Три глупых вопроса о С++ /clr
    #34733642
НатаМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Действительно, устала уже от говорильни, да и впросы стали повторяться! - "не клоны" типа читателя тут, как тут!

спасибо ТО MasterZiv, только полнее и вернее ответил Lepsik! Не выясненно осталось: яа) я переделала - есть приватный указатель МуТип * lpInfo - его я очищаю: HeapFree(GetProcessHeap(), 0, this->lpInfo); В конструкторе/в ручную он строится и ипользуется в методах далее, по сути дин. методы это перезапись полей lpInfo

И ещё, а что проиходит, когда уже из под диеза А.Диспозе() вызываю? То есть опять же нужна ли или ЦЛР сама всё подотрёт - вроде в этом то и смысл ЦЛР, с диезными классами ни чего же не нужно делать, или с этими иначе ...?

>Но я бы, рас уж это Managed C++, использовал лучше System::String.
А я что?! Простите, переделала:
Код: plaintext
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.
	public ref class А  
	{
	public:
		А(void);
		~А(void);

		property System::String ^ ErrorStr
		{
			System::String ^ get()
			{
				return ErrorMsg(errorCode);
			}
		}

		property System::String ^ ...
		{
			System::String ^ get(...)
			{
				...
				return ...;
			}
 			void set(System::String ^ value)
			{
				...
			}                              
		}

		static System::String ^ ErrorMsg(DWORD errorCode);
		static System::String ^ Rename(System::String ^ oldName, System::String ^ newName);

	private:
		MyTip * lpInfo;
		DWORD errorCode; 
	};
MyTip довольно громозкая структура, под которую в конструкторе идёт фиксированное выделение памяти.
...
Рейтинг: 0 / 0
Три глупых вопроса о С++ /clr
    #34733976
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv
A aa = A(параметры конструктора);
А, нет параметров ? Тогда :
A aa;


Не все так просто :(
В .Net делается различие между размерными и ссылочными типами. Первые можно выделять только на стеке, вторые только в управляемой куче
...
Рейтинг: 0 / 0
Три глупых вопроса о С++ /clr
    #34736791
Lepsik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НатаМ
И ещё, а что проиходит, когда уже из под диеза А.Диспозе() вызываю? То есть опять же нужна ли или ЦЛР сама всё подотрёт - вроде в этом то и смысл ЦЛР, с диезными классами ни чего же не нужно делать, или с этими иначе ...?

В СИКли все то же самое. Но в деструкторе нужно будет ручками очишать все что выделялсь unmanaged средствами типа "new", "malloc", и подобными winapi функицями, которые обязывают пользователя самостоятельно чистить за собою
...
Рейтинг: 0 / 0
Три глупых вопроса о С++ /clr
    #34953814
RASCAL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Come a cropper
...
Рейтинг: 0 / 0
4 сообщений из 54, страница 3 из 3
Форумы / C++ [игнор отключен] [закрыт для гостей] / Три глупых вопроса о С++ /clr
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]