Re: [go-nuts] what is the best way to to convert c++ std::string to go string in cgo programing?

2017-04-22 Thread Konstantin Khomoutov
On Wed, 19 Apr 2017 01:40:39 -0700 (PDT) Frits van Bommel wrote: > On Wednesday, April 19, 2017 at 9:10:16 AM UTC+2, hui zhang wrote: > > > > for 1) you mean > >> > >> char *CGetPath() { > >> return getpath().c_str(); > >> } > > > > > > this code will work ? > > > > That depends on wheth

Re: [go-nuts] what is the best way to to convert c++ std::string to go string in cgo programing?

2017-04-20 Thread Frits van Bommel
Please reply to the mailing list (use "reply all"). On Thu, Apr 20, 2017 at 4:39 AM, hui zhang wrote: > Thank you , I believe most function will return string instead of string& > I test return string function , as expected it return the wrong value > as the string is invalid out of function

Re: [go-nuts] what is the best way to to convert c++ std::string to go string in cgo programing?

2017-04-19 Thread Frits van Bommel
On Wednesday, April 19, 2017 at 9:10:16 AM UTC+2, hui zhang wrote: > > for 1) you mean >> >> char *CGetPath() { >> return getpath().c_str(); >> } > > > this code will work ? > That depends on whether getpath() returns a std::string or a (const) std::string& (a (const) reference). It will

Re: [go-nuts] what is the best way to to convert c++ std::string to go string in cgo programing?

2017-04-19 Thread hui zhang
for 1) you mean > > char *CGetPath() { > return getpath().c_str(); > } this code will work ? 2017-04-19 14:43 GMT+08:00 Konstantin Khomoutov < flatw...@users.sourceforge.net>: > On Wed, 19 Apr 2017 14:23:09 +0800 > hui zhang wrote: > > > 1) getpath() return a temp string, its c_str

Re: [go-nuts] what is the best way to to convert c++ std::string to go string in cgo programing?

2017-04-18 Thread Konstantin Khomoutov
On Wed, 19 Apr 2017 14:23:09 +0800 hui zhang wrote: > 1) getpath() return a temp string, its c_str() pointer will be > free out of function. So I use malloc I'm not completely sure you're correct. C++ does not implement garbage collection and the object on which you have called c_str() con

Re: [go-nuts] what is the best way to to convert c++ std::string to go string in cgo programing?

2017-04-18 Thread hui zhang
1) getpath() return a temp string, its c_str() pointer will be free out of function. So I use malloc 2) Assume we use the malloc way , are C.GoString() copying the pointer memory ? for we need C.free() malloc memory. 2017-04-19 14:17 GMT+08:00 Konstantin Khomoutov < flatw...@users.sour

Re: [go-nuts] what is the best way to to convert c++ std::string to go string in cgo programing?

2017-04-18 Thread Konstantin Khomoutov
On Tue, 18 Apr 2017 18:09:03 -0700 (PDT) hui zhang wrote: > > > c code > > > string getstring() {...} > > > go > > > string gostr = (C.getstring()) > > Oh, and note that std::string is a fat object. > > > > So if getstring() really returns an instance of std::string, > > and you need to

Re: [go-nuts] what is the best way to to convert c++ std::string to go string in cgo programing?

2017-04-18 Thread hui zhang
assume there is a c++ function string getpath() you mean I should do this ? > char *CGetPath() { > auto str=getpath; > char *c = malloc(str.length()), > strcpy(c,str.c_str()); > return c; > } p :=C.CGetPath() > gostr := C.GoString() >C.free(p) 在 2017年4月18日星期二 U

Re: [go-nuts] what is the best way to to convert c++ std::string to go string in cgo programing?

2017-04-18 Thread Konstantin Khomoutov
On Tue, 18 Apr 2017 02:25:07 -0700 (PDT) hui zhang wrote: > c code > string getstring() {...} > > go > > string gostr = (C.getstring()) Oh, and note that std::string is a fat object. So if getstring() really returns an instance of std::string, and you need to actually extract its "raw b

Re: [go-nuts] what is the best way to to convert c++ std::string to go string in cgo programing?

2017-04-18 Thread Konstantin Khomoutov
On Tue, 18 Apr 2017 02:25:07 -0700 (PDT) hui zhang wrote: > c code > string getstring() {...} > > go > > string gostr = (C.getstring()) https://github.com/golang/go/wiki/cgo#go-strings-and-c-strings ? -- You received this message because you are subscribed to the Google Groups "golang

[go-nuts] what is the best way to to convert c++ std::string to go string in cgo programing?

2017-04-18 Thread hui zhang
c code string getstring() {...} go string gostr = (C.getstring()) -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com