Re: Shouldn't Glib::ustring::raw() return const char* ?



On 02/08/2016 09:16, Jonathan Wakely wrote:
On 2 August 2016 at 07:03, John Emmas wrote:

but when I mentioned it on a popular programming forum, someone pointed out that if the above was working, that was purely a case of luck.

Why is it purely a case of luck? Because get_application_name() returns a std::string by value, which tries to copy the VS2005 type using the code from VS2015?


On 02/08/2016 09:12, Kjell Ahlstedt wrote:
 
Glib::ustring::raw() and Glib::ustring::operator std::string() return string_.
Glib::ustring::c_str() returns string_.c_str().
Glib::ustring::data() returns string_.data().
What more do you want? Or is it the name "raw" that you find misleading?


Oops, you're both right.  I was getting mixed up and thinking that Glib::get_application name() returns std::string, whereas it doesn't - it returns Glib::ustring.

That explains why calling its 'c_str()' function works, while a simple assignment doesn't.  Glib::ustring's std::string operator returns it's 'string_' member.  In my case, this IS a std:;string - but it's the old type of std::string that was known to VS2005 (which presumably can't be simply copied to the new type that's known to VS2015).  Thanks for clearing this up guys,

John


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]