2010-08-05 3 views
2

Из управляемой функции C++ я хочу вызвать неуправляемую функцию, которая ожидает в качестве аргумента «const char *».Нужен ли мне pin_ptr для передачи строки?

Есть a) и b) ниже правильно? Для b), мне нужно pin_ptr 'hello'? А как насчет а)? Благодарю.

) myFunction("hello");

б)

char hello[10] ; 
strcpy(hello, "hello"); 
myFunction(hello); 

ответ

0

Оба отлично. Вам не нужно в б дополнительный strcpy), хотя, просто сделать:

char hello[] = "hello"; 
myFunction(hello); 

который теперь становится почти так же, как).

+0

Спасибо. И почему нет необходимости связывать их? Потому что они в стеке? –

+1

Потому что они не распределены динамически. a), вероятно, является частью только для чтения сегмента данных, b) находится в стеке. –

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

  • Нет связанных вопросов^_^