HN
Hacker News
Top
New
Best
Ask
Show
Jobs
Comment by leodeid | Hacker News Reader
Parent
Full thread
leodeid
·
Sure, but it is still a valid 'char *' :)
View on HN
saagarjha
·
That's something C's type system doesn't check for. If you want protection for this case, use C++ or any other higher-level language instead.
nwmcsween
·
Well to be pedantic C++'s type system doesn't check for that either it just passes around a size_t and char *.
saagarjha
·
I was referring to std::string, which is what you should be using if you're handling textual data natively.
nwmcsween
·
The implementation of std::string is 99.999% of the time struct { char *s; size_t len; }, which has nothing to do with an actual type.
gmueckl
·
And it's even possible to use std::string as a buffer for binary data including NULs. I won't recommend it, but it works.
saagarjha
·
I'd suggest using a std::vector of byte-sized integers for clarity, though there's nothing wrong from a standards point in using a std::string.
Reply on news.ycombinator.com