2010-08-05 3 views
2

관리되는 C++ 함수에서 'const char *'를 인수로 사용하는 관리되지 않는 함수를 호출하려고합니다.리터럴 문자열을 전달하려면 pin_ptr이 필요합니까?

아래의 a)와 b)가 맞습니까? b)의 경우, '안녕하세요'라고 pin_ptr해야합니까? a)는 어떨까요? 감사.

a) myFunction("hello");

b)

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

답변

0

모두 괜찮다. 지금은 꽤 많이와 동일하게

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

을) : 당신은하지만, 단지 할) B의 추가 strcpy 필요하지 않습니다.

+0

감사합니다. 왜 그들을 묶을 필요가 없습니까? 그들은 스택에 있기 때문에? –

+1

동적으로 할당되지 않았으므로 a) 아마도 데이터 세그먼트의 읽기 전용 부분에 있고, b) 스택에 있습니다. –