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

响应式设计网站给别人做网站会连累自己吗

响应式设计网站,给别人做网站会连累自己吗,电商平台网站技术开发,muse to wordpress目录 一、使用下标运算符 [] 访问元素 二、使用 at() 方法访问元素 三、使用范围for循环访问元素 四、使用迭代器访问元素 五、访问首尾元素(C11新增) 六、方法比较表 一、使用下标运算符 [] 访问元素 string 类重载了下标运算符 [],可…

目录

一、使用下标运算符 [] 访问元素

二、使用 at() 方法访问元素

三、使用范围for循环访问元素

四、使用迭代器访问元素

五、访问首尾元素(C++11新增)

六、方法比较表


一、使用下标运算符 [] 访问元素

        string 类重载了下标运算符 [],可以直接通过下标访问和修改元素。该运算符返回字符的引用,因此可以用于修改操作。

char& operator[] (size_t pos);
const char& operator[] (size_t pos) const;  // const版本

特点:

  • 访问速度快,效率高

  • 不进行边界检查,访问越界时行为未定义

  • 适用于已知安全边界的快速访问

示例代码:

#include <iostream>
#include <string>
using namespace std;int main() {string s("CSDN");// 读取元素for (size_t i = 0; i < s.size(); i++) {cout << s[i];  // 输出: CSDN}cout << endl;// 修改元素for (size_t i = 0; i < s.size(); i++) {s[i] = 'x';  // 修改每个字符}cout << s << endl;  // 输出: xxxxreturn 0;
}


二、使用 at() 方法访问元素

at() 方法提供带边界检查的元素访问,同样返回字符的引用。

char& at(size_t pos);
const char& at(size_t pos) const;  // const版本

特点:

  • 进行边界检查,越界时抛出 std::out_of_range 异常

  • 比 [] 运算符稍慢,但更安全

  • 适用于不确定边界的情况

示例代码:

#include <iostream>
#include <string>
using namespace std;int main() {string s("CSDN");// 安全读取元素for (size_t i = 0; i < s.size(); i++) {cout << s.at(i);  // 输出: CSDN}cout << endl;// 安全修改元素for (size_t i = 0; i < s.size(); i++) {s.at(i) = 'x';}cout << s << endl;  // 输出: xxxx// 越界访问示例(会抛出异常)try {cout << s.at(10) << endl;} catch (const out_of_range& e) {cerr << "错误: " << e.what() << endl;}return 0;
}


三、使用范围for循环访问元素

C++11引入的范围for循环提供简洁的元素访问语法。

特点:

  • 语法简洁明了

  • 自动处理边界问题

  • 修改元素需要使用引用类型

示例代码:

#include <iostream>
#include <string>
using namespace std;int main() {string s("CSDN");// 只读访问for (char c : s) {cout << c;  // 输出: CSDN}cout << endl;// 修改元素(必须使用引用)for (char& c : s) {c = 'x';}cout << s << endl;  // 输出: xxxx// 使用auto自动推导类型for (auto& c : s) {c += 1;  // 每个字符ASCII值加1}cout << s << endl;  // 输出: yyyyreturn 0;
}


四、使用迭代器访问元素

迭代器提供了一种通用的容器元素访问方式,适用于所有STL容器。

iterator begin();
iterator end();
const_iterator begin() const;
const_iterator end() const;

特点:

  • 提供统一的容器访问接口

  • 支持各种STL算法

  • 可以灵活控制遍历过程

示例代码:

#include <iostream>
#include <string>
using namespace std;int main() {string s("CSDN");// 使用迭代器读取元素string::iterator it = s.begin();while (it != s.end()) {cout << *it;++it;}cout << endl;  // 输出: CSDN// 使用迭代器修改元素for (auto it = s.begin(); it != s.end(); ++it) {*it += 1;  // 每个字符ASCII值加1}cout << s << endl;  // 输出: DTEO// 使用const迭代器(只读)const string cs("CONST");for (auto it = cs.begin(); it != cs.end(); ++it) {cout << *it;  // 输出: CONST// *it = 'x';  // 错误:不能修改const对象}cout << endl;return 0;
}


五、访问首尾元素(C++11新增)

C++11新增了直接访问首尾元素的便捷方法。

char& front();       // 访问第一个元素
char& back();        // 访问最后一个元素
const char& front() const;
const char& back() const;

示例代码:

#include <iostream>
#include <string>
using namespace std;int main() {string s("CSDN");cout << "首字符: " << s.front() << endl;  // 输出: Ccout << "尾字符: " << s.back() << endl;   // 输出: Ns.front() = 'A';s.back() = 'M';cout << s << endl;  // 输出: ASDMreturn 0;
}


六、方法比较表

访问方法优点缺点适用场景
下标运算符[]速度快,效率高无边界检查已知安全边界的快速访问
at()方法有边界检查,安全性能略低需要安全保证的访问
范围for循环语法简洁,自动边界检查不能灵活控制遍历过程简单遍历整个字符串
迭代器灵活,通用性强语法相对复杂需要复杂遍历或使用STL算法
front()/back()直接访问首尾元素只能访问首尾只需访问首尾元素时

        选择适当的元素访问方法可以使代码更高效、更安全。在性能关键代码中,[] 运算符是最快选择;在安全性更重要的场景中,at() 方法更合适;范围for循环则提供了最简洁的语法。

http://www.dtcms.com/a/562147.html

相关文章:

  • 赣榆网站建设xxiaoseo广西美丽乡村建设网站
  • 3、电机控制——VF控制学习总结
  • 多表分页联查——EF Core方式和Dapper方式
  • 做网站要找什么公司信息门户网站制作费用
  • wordpress网站后缀网站开发文档网站
  • 营销单页网站模板网站建设 6万贵不贵
  • 体育西网站开发设计深圳市住房和建设局官网
  • 数据结构 10 二叉树作业
  • 网站建设视频教程 百度云如何做网站赚钱6
  • HTML5 测验
  • 沧州网站建设王宝祥wordpress能恢复修改前吗
  • 有没有专门做京东天猫的人才网站e4a能建设网站吗
  • Java记录类:简化数据载体的新选择
  • 郑州做网站开发销售潍坊做网站
  • C++—string(1):string类的学习与使用
  • 做一张网站专栏背景图网页设计模板网站
  • 关于企业网站建设的市场比质比价调查报告手机制作ppt的软件免费
  • 做外贸网站可以收付款吗电商网站建站
  • 响水专业做网站手机wap网站怎么做
  • 催收网站开发要看网的域名是多少
  • 怎么用ps做网站幻灯片做一个app的成本
  • 河南省台前县建设局网站织梦小说网站源码
  • 在线免费视频网站推广安卓小程序开发入门
  • 网站维护电话站长统计代码
  • 数学分析简明教程——2.3 (未完)
  • 计网5.3.3 TCP连接管理
  • 云南哪几个建网站公司甘肃做网站多少钱
  • verilog 中函数和任务的区别,举例说明
  • 网页制作与网站建设实战大全 pdf有名的软件开发公司
  • asyncio.get_running_loop() vs asyncio.get_event_loop() 作用与区别