Eri*_*c Z 6 c++ string getline
谷歌搜索一段时间之后我不太确定的一件事是返回的getline()字符串.希望在这里得到确认.
std::getline
Run Code Online (Sandbox Code Playgroud)
这个全局版本返回一个std :: string,因此它不一定是以null结尾的.有些编译器可能附加'\ 0'而其他编译器则不会.
std::istream::getline
Run Code Online (Sandbox Code Playgroud)
此函数返回一个c样式的字符串,因此可以保证字符串以空值终止.
是对的吗?
空终止是一个仅适用于 C 字符串的概念;它不适用于 的对象std::string- 它们允许您通过调用 来查找大小size(),并且不需要 null 终止。但是,无论字符串的数据来自何处,从std::string的函数返回的字符串都以 null 结尾。c_str()
operator [pos]C++11 标准在第 21.4.5.2 节中描述了先决条件:
\n\n\n返回:
\n*(begin() + pos)如果pos < size().charT否则,返回对value类型的对象的引用charT(),其中修改该对象会导致 unde\xef\xac\x81ned 行为。
请注意pos < size(),而不是pos <= size():标准明确允许std::string对象不具有空终止。
| 归档时间: |
|
| 查看次数: |
3406 次 |
| 最近记录: |