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

网站建设竞争性磋商文件做英语教具的网站

网站建设竞争性磋商文件,做英语教具的网站,网站建设 麻烦吗,wordpress修改博客界面我的码云 我的string码云 分析总结 1.项目结构 所有的类和函数需要在namespace中实现#xff0c;要和string高度对应 private:char* _str;//字符串size_t _size;//有效长度size_t _capacity;//总空间#xff0c;包括\0const static size_t npos-1;2.定义变量 1 所…我的码云 我的string码云 分析总结 1.项目结构 所有的类和函数需要在namespace中实现要和string高度对应 private:char* _str;//字符串size_t _size;//有效长度size_t _capacity;//总空间包括\0const static size_t npos-1;2.定义变量 1 所有的变量和函数要放到class中而且要规定private类型 2 其中有一个是特殊的,const static size_t npos-1;这是需要特别记忆size_t npos赋值为-1表示无符号整形的最大值 对于长度和总空间一定不会是小于0的我们依旧设为无符号整形 3.调试代码区域 因为这是在namespace中实现的我们调试代码可以需要加上using namespace或者直接在namespace中写一个调试函数 4.构造函数 string():_str(new char[sizeof(char)*4]),_size(0),_capacity(4){_str[0] \0;}在对象初始化的时候我们首选初始化列表进行初始化(效率更高),并且我们在初始化列表中为了防止别人随便改变变量定义的顺序导致初始化列表错乱我们会选择在函数中进行初始化。(初始化列表的初始化顺序并不是根据列表中数据出现的顺序决定的而是由定义的顺序决定的 string(){_size 0;_capacity 4;_str new char[_capacity];_str[0] \0;}在初始话的时候还要注意变量的值要选取合适并且要注意字符串的结尾不论是有没有字符串都应该为\0 拷贝构造和析构函数 string(const string other) {_size other._size;_capacity other._capacity;_str new char[sizeof(char) * _capacity];strcpy(_str, other._str); }~string() {delete[] _str; }代码中char数组需要设为动态的空间要进行深拷贝防止浅拷贝带来的问题 在拷贝构造中要注意加const防止传来的是匿名对象匿名对象有常性需要const修饰才行对于重载也是需要加const 重载运算符 类内friend ostream operator(ostream out, string str);friend istream operator(istream in, string str);类外ostream operator(ostream out, string str){cout str.c_str();return out;}istream operator(istream in, string str){cin str._str;return in;}等我回来再叙述iostream 因为这个是和 必须要在类外实现并且要调用类中private成员变量我们必须使用friend标识符 我在调用的c_str()函数也就是说我们的可以不用再类内声明成friend 也就是说只有在需要调用类中的变量的时候才需要写成friend 迭代器 简单介绍 1.using namespace 的情况下 string::iterator itstr.begin();2.没有使用using namespace 的定义形式 bit::string::iterator tem;既要指明namespace又要指明class 实现 iterator是一个类型他定义了itit接收了begin()的返回值it要对char数组进行访问而且要能通过it自增进行连续的访问那么it就应该是指针类型char*同时又要写成iterator的形式就需要进行typedef typedef char* iterator;//必须要将这个定义放出来不然类外就无法使用声明iterator begin(){return _str;}iterator end(){return _str _size 1;}在写end函数的时候一定要清楚end指向的是整个数组结尾的下一个位置 typedef char* iterator;这个定义一定要放到public中不能放到private中因为在外面进行定义迭代器的时候需要访问到iterator这个类型 作用域操作符可以对类内public静态成员变量和函数进行访问以及上面这种类型进行访问 reserve和resize void resize(size_t n, char c \0){delete[] _str;_str new char[sizeof(char) * (n 1)];_size n;_capacity n 1;for (int i 0; i n; i)_str[i] c;_str[n] \0;}void reserve(size_t all){int flag 0;while (all _capacity)_capacity * 2, flag 1;if (flag){char* tem _str;_str new char[_capacity];strcpy(_str, tem);}}reserve如果是缩小的话不影响空间不影响数据 resize如果是缩小的话影响空间影响数据 substr string substr(size_t start0, size_t nnpos) const{string ans;//临时变量不能返回引用if (start _size) return ans;for (int i start; i start n i _size; i)ans.push_back(_str[i]);return ans;}在使用substr的时候string ans是临时变量不能返回引用虽然string内部的数组是动态开辟的但是函数结束的时候就会自动调用析构函数释放空间
http://www.tj-hxxt.cn/news/139849.html

相关文章:

  • 湖北网站建设路北京市优化网站
  • 如何建设微商网站网站初期建设宣传
  • 汕头市营商环境建设监督局网站旅游网站建设项目
  • a5网站诊断莱芜论坛的最新帖子
  • 嘉兴网站建设与管理专业企业一般用什么邮箱?
  • 登录html模板在seo优化中
  • 苏州企业网站深圳住房和建设局网站
  • 怎么自己做网站挣钱前端做项目网站
  • 网站内容规划流程无极网站网站涉案多少人被抓
  • 网站建设服务开税率多少的票住建局建设工程质量监督站
  • 政务网站设计鉴赏做 商城 网站 费用
  • 外贸seo网站推广上海做网站站优云一一十七
  • 太原网站排名外包哪里网站建设联系方式
  • 韩国的汽车设计网站百度自媒体注册入口
  • 搬家网站自适应WordPress 插件修改界面
  • 手机模板网站模板服务类型的网站怎么做
  • 网站建设的营业执照游戏平台代理
  • 网站seo优化教程做网站运营需要做哪些
  • 功能网站建设建设部网站令第77号
  • 成都哪家公司做网站h5小程序
  • 网站权重高 做别的关键词wordpress手机全部显示
  • 平面设计专业就业前景鞍山seo外包
  • 郑州网站建设预订自助网站建设用什么好
  • 如何建一个网站教程做网站需要人员
  • 建设区块链网站大庆网站建设公司哪家好
  • 北京的电商平台网站有哪些内容西安网站制作设计找哪家
  • emlog wordpress网站优化流程图
  • 公司网站策划持续推进网站建设
  • 搭建企业网站具体过程seo知识是什么意思
  • 自己搞网站做外贸wordpress主题上的字怎么移动