2013-12-09 3 views
-2

Когда я использую CloseHandle в конце моего кода, перед возвратом (0) мне нужно вызвать его, когда я заканчиваю программу, например, if() перед возвратом (1)?C++ CloseHandle() перед возвратом

Например:

if(example){ 
    var = 1 
       // CloseHandle() or not? 
    return(1); 
} 
+1

Здесь не так много действительного C++ ... –

+0

Какую ручку вы закрываете? Это конец вашей программы или всего лишь одна процедура. Больше кода поможет! Кроме того, где ваши точки с запятой? : P –

+0

'CloseHandle', который будет использоваться, когда у вас есть ручка на руках, и вы несете ответственность за закрытие. Здесь, в этом фрагменте, у вас даже нет ручки. –

ответ

3

Это не имеет значения, где ваш return или exit написано; если это приведет к концу вашей программы, вы должны освободить свой ресурс с помощью CloseHandle& dagger;.

& dagger; Предполагаю, вы ссылаетесь на CloseHandle as provided by the Windows API. Это не C++-функция.

+0

На самом деле, если вы собираетесь прекратить выполнение программы, от звонков на «CloseHandle» мало что можно получить. ОС сделает это за вас. Но это довольно педантично. На самом деле вам было бы редко найти себя, чтобы закончить программу, и с некоторыми ручками, которые нужно закрыть. Итак, да, вызовите 'CloseHandle' на все созданные вами дескрипторы. –

+0

Или создайте класс-оболочку и поместите ':: CloseHandle' в деструктор. – jliv902

Смежные вопросы