std::ifstream头文件(c++ ifstream头文件)

std::ifstream头文件(c++ ifstream头文件)span id Label3 p 1 std string p p string 是 C 中 basic string 模板的 char 类型的实例 在 Debian 7 0 中 其定义包含在 p p nbsp p span

大家好,我是讯享网,很高兴认识大家。




讯享网

                <span id="Label3"><p>1.std::string</p><p>string 是C++中basic_string模板的char类型的实例,在Debian 7.0中,其定义包含在</p><p>&nbsp;</p><p>  /usr/include/c++/4.7/bits/stringfwd.h</p><p><img  alt="技术分享" src="https://www.u72.net/d/file/p/2024/08/21/5cdaa2423f0ea915d1fcf2a990e6af01.png"  /></p><p>basic_string模板类在/usr/include/c++/4.7/bits/basic_string.h中进行了定义</p><p><img  alt="技术分享" src="https://www.u72.net/d/file/p/2024/08/21/c3186a28927b82b0f63a25022cefc9e5.png"  /></p><p>string 类中并不存储字符串,而是包含一个指向字符串的指针</p><p>2.string初始化</p><p>  string s = "xxxx";       //C++98支持</p><p>  string s("xxxx");       //C++98支持</p><p>  string s(int n, char c);   //将s初始化为由n个字符c组成的字符串  C++98支持</p><p>  string s = {"xxxxx"};     //列表初始化,C++11新增, C++98不支持</p><p>  string s {"xxxxx"};      //列表初始化</p><p>更多见:http://www.cplusplus.com/reference/string/string/string/</p><p>Note:使用列表初始化化时,需在g++中指定标准类型 g++ -std=c++11      </p><p>2.string类常见的成员函数</p><p>容量相关函数:</p><p>  string::size</p><p>    size_t size() const noexcept;  // 以字节形式返回string对象字符串的字节数, size_t ---&gt; unsigned int&nbsp;</p><p>  string::length</p><p>    size_t length() const noexcept;  //与string::size相同</p><p>  string::max_size</p><p>    size_t max_size() const noexcept; //返回string对象可以包含的最大字节数,该值因系统实现和限制而不同</p><p>  string::capacity</p><p>    size_t capacity() const noexcept;  //返回分配给string对象的大小,以字节为单位</p><p>  Note:capacity()函数的返回值并不一定等于leng()返回值,可能等于甚至大于length(),多余的空间被用来在添加新的字符时,防止重新分配内存空间,消耗时间,分配更多的空间,是为达到优化的目的</p><p>  string::reserve</p><p>    void reserve(size_t n = 0);    //预留的string对象容量大小</p><p>  Note:</p><p>    1)string对象的reverse可以将容量调整缩小,这与vector相反</p><p>    2)当请求的容量n 超过max_size()时,抛出length_err异常;当分配空间失败时,抛出bad_alloc异常</p><p>  string::resize</p><p>    void resize(size_t n);</p><p>    void resize(size_t n, char c);  //调整string的长度,而不是容量</p><p>  Note:</p><p>    1)当n &lt; string.length()时,超过n的内容被删除</p><p>    2)当n &gt;string.length()时,新增加的元素将以空字符填充到尾部;如果指定了填充字符c,则以字符c填充</p><p>      </p><p>  string::clear</p><p>    void clear() noexcept;      //清除string的内容</p><p>  string::empty</p><p>    bool empty() const noexcept;   //检测string对象是否为空</p><p>相关参考:</p><p>  http://www.cnblogs.com/chinazhangjie/archive/2010/08/19/1803042.html</p><p>迭代相关函数:</p><p>  string::begin</p><p>    iterator begin() noexcept;</p><p>    const_iterator begin() const noexcept; &nbsp;//返回一个指向string对象首字符的迭代器</p><p>  string::end</p><p>    iterator end() noexcept;</p><p>    const_iterator end() const noexcept;</p><p>  Note: 返回的迭代器可用于访问或者修改其指向的string对象中的内容</p><p>  string::rbegin</p><p>    reverse_iterator rbegin() noexcept;</p><p>    const_reverse_iterator rbegin() const noexcept;</p><p>  string::rend</p><p>    reverse_iterator rend() noexcept;</p><p>    const_reverse_iterator rend() const noexcept;</p><p>  //返回倒序的迭代器</p><p>&nbsp;</p><p>元素访问相关函数:</p><p>  string::at</p><p>    char &amp; at(size_t pos);</p><p>    const char &amp; at(size_t pos) const; &nbsp;//返回string对象中pos位置的字符的引用</p><p>  string::back      //c++11</p><p>    char &amp; back();</p><p>    const char &amp; back() const;</p><p>  string::front    //c++11</p><p>    char &amp; front();</p><p>    const char &amp; front() const;</p><p>Note:  at用于访问指定位置的元素,同string[i]形式;</p><p>     back用于访问string最后一个元素;</p><p>     front用于访问string第一个元素</p><p>字符串操作相关函数:</p><p>  string::c_str()</p><p>    const char * c_str() const noexcept;</p><p>  string::data</p><p>    const char * data() const noexcept;    //data 与c_str()相同,均返回string对象存储字符串的地址</p><p>  其他:find, copy等</p><p>&nbsp;</p><p>&nbsp;</p><p>    </p><p>  </p><p>C++ String</p></span>

讯享网
小讯
上一篇 2025-06-08 21:36
下一篇 2025-05-14 13:08

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/177485.html