当前位置: 首页 > news >正文

毕设做系统与网站答辩学校网站用什么模板好

毕设做系统与网站答辩,学校网站用什么模板好,苏州优化排名seo,商城网站建设系统一、string类 1、为什么要学习string#xff1f; C语言中#xff0c;字符串是以\0结尾的一些字符的集合#xff0c;为了操作方便#xff0c;C标准库中提供了一些str系列的库函数#xff0c;但是这些库函数与字符串是分离开的#xff0c;不太符合OOP#xff08;面向对象…一、string类 1、为什么要学习string C语言中字符串是以\0结尾的一些字符的集合为了操作方便C标准库中提供了一些str系列的库函数但是这些库函数与字符串是分离开的不太符合OOP面向对象编程的思想而且底层空间需要用户自己管理稍不留神可能还会越界访问。在OJ中有关字符串的题目基本以string类的形式出现而且在常规工作中为了简单、方便、快捷基本都使用string类很少有人去使用C库中的字符串操作函数。 2、介绍 1. 字符串是表示字符序列的类。 2. 标准的字符串类提供了对此类对象的支持其接口类似于标准字符容器的接口但添加了专门用于操作单字节字符字符串的设计特性。 3. string类是使用char(即作为它的字符类型使用它的默认char_traits和分配器类型 4. string类是basic_string模板类的一个实例它使用char来实例化basic_string模板类并用char_traits和allocator作为basic_string的默认参数 5. 注意这个类独立于所使用的编码来处理字节:如果用来处理多字节或变长字符(如UTF-8)的序列这个类的所有成员(如长度或大小)以及它的迭代器将仍然按照字节(而不是实际编码的字符)来操作。 3、特点 1. string是表示字符串的字符串类 2. 该类的接口与常规容器的接口基本相同再添加了一些专门用来操作string的常规操作。 3. string在底层实际是basic_string模板类的别名typedef basic_stringchar, char_traits, allocator string; 4. 不能操作多字节或者变长字符的序列。 5、在使用string类时必须包含#include头文件以及using namespace std; 4、string类常用构造函数 1、string() 构造空的string类对象即空字符串重点 2、string(const char* s) 用C-string来构造string类对象重点 3、string(const strings) 拷贝构造函数重点 4、string(size_t n, char c) string类对象中包含n个字符c //空字符串string test1;//用C-string构造string类对象string test2(hello);//拷贝构造string test3 test1;string test4(test2);//使string对象包含n个字符string test5(5, a); 注意string类是重载了流插入和留提取运算符所以其对象可以直接使用cout和cin 这里只举例常见的构造具体可前往官网查看文档。 5、string类的析构函数 因为string类支持cin所以底层实现是右new操作符动态开辟空间的所以需要析构函数~string()释放但析构函数是自动调用的所以平时可以不管。 6、string类对象的遍历和访问 1、利用流插入运算符重载 2、string类运算符重载了[ ]所以可以用[ ]进行读写注意[ ]重载提供了两个版本有个版本用const修饰了this指针返回值也会const引用所以只可读不能写具体查看文档 int main() {string s1(hello world);//读for (int i 0; i s1.size(); i){cout s1[i] ;}cout endl;//写:字符串逆序int begin 0;int end s1.size() - 1;while (begin end){swap(s1[begin], s1[end]);begin;end--;}cout s1;return 0; } 3、利用迭代器iterator用法像指针 int main() {string s1(hello);string::iterator it s1.begin();while (it ! s1.end()){cout *it ;it;}cout endl;return 0; }这里begin()指向第一个位置end()指向数据内容的后一个位置 因为[ ]只适合部分容器如树形、哈希结构、链式结构等等只能用迭代器迭代器才是容器访问的主流。 知道了迭代器那么容器逆序可以用一个函数模版 reverse(s1.begin(), s1.end()); reverse函数需要左闭右开的区间而迭代器的begin和end刚好满足。 需要注意迭代器的两个写法 4、范围for适用于多种容器相比上述几种方式是最便捷的但底层会替换成迭代器 string s1(hello);for (auto e : s1) {cout e ; } cout endl;
http://www.hkea.cn/news/14553013/

相关文章:

  • 福州软件网站开发培训班用户界面设计与制作
  • 如何上传模板到网站aspcms 网站地图
  • 吴江住房城乡建设局网站奢侈品
  • 做网站收入怎么样国外h5制作网站模板下载
  • 网站后台密码忘了怎么办抖音代运营话术
  • 商业空间设计网站大全专门做简历的网站
  • 合肥做网站多少钱什么是响应式网页设计
  • php视频网站开发网站建设百家号
  • 企业网站架构网站的推广费用票可以做抵扣吗
  • 惠州网站搭建移动端网站建站视频教程
  • 优秀国外网站chatgpt openai
  • 中山专业门户网站制作咨询机场网站建设需求
  • 响应网官方网站网站销售方案
  • 建站之星做出的网站不安全下载中国建设银行官网站
  • 自己如何建企业网站网站建设服务商是什么
  • 潜江建设局网站杭州网页设计
  • 杭州做网站自助网站建设软件
  • 百度推广包做网站吗临沂网站建设公司招聘
  • 国外做兼职的网站有哪些wordpress 分类目录页面
  • 网站群建设存在的问题洪山网站建设公司
  • 河源网站建设多少钱各种网站
  • 厦门网站个人制作泰州网站建设方案推广
  • 张掖网站建设培训班html5经典网站
  • 帝国cms手机网站教程二建注册查询系统
  • asp.net个人网站空间如何利用微博推广网站
  • 高端网站建设怎么报名北京公关公司最好的公司
  • 重庆网站建设求职简历婚纱摄影网站模板免费下载
  • 济南营销网站制作公司哪家好黄陂机械加工网
  • wordpress微信登录申请优化设计电子版
  • 青岛营销型网站建设大连金州代做网站公众号