zoukankan      html  css  js  c++  java
  • c++ string 的注意事项

    1. string 的reserve 和 resize 区别

      • reserve 与capacity相关,如果reserve一个比当前capacity大的 reserve 只会找到一块合适大小的内存,并将原始内容拷贝到新位置,迭代器会失效,size() 不变, 如果reserve 一个比当前capacity 小,则不会发生变化。
      • resize 与size相关,如果resize一个比当前size大的数,多出的size会填充为0。 如果甚至比capacity要大,则会调用reserve来申请一个大内存,再拷贝数据,再填充0。如果resize一个比当前size小的数,只是修改了size,但实际内存没变化。
    2. data() 返回底层内存地址, 直到c++17 才可写,之前都是只读的

    3. string 非原始字符串即不以''作为结束符,所以对于strlen 这些操作都是错误的, 只能通过string的size来计算大小。

    有人说c++之所以不适合网站开发,就是因为c++的string不是真正的字符串

  • 相关阅读:
    canvas
    canvas -矩形
    canvas
    requestAnimationFrame
    flex in css
    让 .vue 支持 atom
    前端应该知道的基础知识汇总
    css伪类总结
    制作滑动门菜单
    页面布局中遇到菱形图片时的处理办法
  • 原文地址:https://www.cnblogs.com/hustcpp/p/11351445.html
Copyright © 2011-2022 走看看