Click here to Skip to main content
15,949,686 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
Questionchar+char issues Pin
gamefreak229119-Apr-09 14:39
gamefreak229119-Apr-09 14:39 
AnswerRe: char+char issues Pin
aks.19-Apr-09 18:59
aks.19-Apr-09 18:59 
GeneralRe: char+char issues Pin
gamefreak229119-Apr-09 19:32
gamefreak229119-Apr-09 19:32 
Questionactivex dll problem [solved] Pin
maxMESA19-Apr-09 0:48
maxMESA19-Apr-09 0:48 
AnswerRe: activex dll problem Pin
Stuart Dootson19-Apr-09 1:47
professionalStuart Dootson19-Apr-09 1:47 
AnswerRe: activex dll problem Pin
maxMESA19-Apr-09 7:14
maxMESA19-Apr-09 7:14 
Questionpoint reference VS value Pin
sharion18-Apr-09 21:18
sharion18-Apr-09 21:18 
AnswerRe: point reference VS value Pin
Stuart Dootson18-Apr-09 22:53
professionalStuart Dootson18-Apr-09 22:53 
sharion wrote:
About the result, one explanation is p in function GetMemory is only a copy of variable str. This explanation may be right but it seems that it contradicts pass by reference. Now that passing by reference, where is the copy come from. And operations done to variable p is equal to operations to str,why str is NULL finally.


There is no contradiction. When you pass a pointer, the thing that is pointed at is passed by reference. So, in your case, the character(s) pointed at by str are passed by reference. str, however, is passed by value.

To pass str by reference, you need to add another level of indirection, either by passing a pointer to str or passing a reference to str, like this:

Pass a pointer to str:

void GetMemory(char** p)
	{
		*p =  new char[100];
	}
int main()
{
   char* str = NULL;
   GetMemory(&str);
   /* */
}


Pass a reference to str:

void GetMemory(char*& p)
	{
		p =  new char[100];
	}
int main()
{
   char* str = NULL;
   GetMemory(str);
   /* */
}


Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

GeneralRe: point reference VS value Pin
sharion19-Apr-09 1:35
sharion19-Apr-09 1:35 
GeneralRe: point reference VS value Pin
Luc Pattyn19-Apr-09 1:49
sitebuilderLuc Pattyn19-Apr-09 1:49 
GeneralRe: point reference VS value Pin
Stuart Dootson19-Apr-09 1:52
professionalStuart Dootson19-Apr-09 1:52 
GeneralRe: point reference VS value Pin
sharion19-Apr-09 3:21
sharion19-Apr-09 3:21 
GeneralRe: point reference VS value Pin
Stuart Dootson19-Apr-09 3:52
professionalStuart Dootson19-Apr-09 3:52 
GeneralRe: point reference VS value Pin
Luc Pattyn19-Apr-09 4:05
sitebuilderLuc Pattyn19-Apr-09 4:05 
GeneralRe: point reference VS value Pin
Stuart Dootson19-Apr-09 4:24
professionalStuart Dootson19-Apr-09 4:24 
GeneralRe: point reference VS value Pin
Luc Pattyn19-Apr-09 4:37
sitebuilderLuc Pattyn19-Apr-09 4:37 
GeneralRe: point reference VS value Pin
Stuart Dootson19-Apr-09 4:56
professionalStuart Dootson19-Apr-09 4:56 
GeneralRe: point reference VS value Pin
Luc Pattyn19-Apr-09 5:00
sitebuilderLuc Pattyn19-Apr-09 5:00 
GeneralRe: point reference VS value Pin
Stuart Dootson19-Apr-09 5:04
professionalStuart Dootson19-Apr-09 5:04 
GeneralRe: point reference VS value Pin
sharion19-Apr-09 5:25
sharion19-Apr-09 5:25 
GeneralRe: point reference VS value Pin
Stuart Dootson19-Apr-09 7:15
professionalStuart Dootson19-Apr-09 7:15 
GeneralRe: point reference VS value Pin
sharion20-Apr-09 18:30
sharion20-Apr-09 18:30 
GeneralRe: point reference VS value Pin
Stuart Dootson20-Apr-09 19:40
professionalStuart Dootson20-Apr-09 19:40 
GeneralRe: point reference VS value Pin
sharion21-Apr-09 18:05
sharion21-Apr-09 18:05 
GeneralRe: point reference VS value Pin
Stuart Dootson21-Apr-09 21:39
professionalStuart Dootson21-Apr-09 21:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.