怎么才能建设免费网站厦门网站建设价格

张小明 2026/1/16 23:22:29
怎么才能建设免费网站,厦门网站建设价格,房子装修报价清单表,html5视频网站开发一、什么是size()函数#xff1f;在C的STL#xff08;Standard Template Library#xff09;中#xff0c;size()是一个极其常用的成员函数#xff0c;用于返回容器中当前元素的数量。无论你使用的是vector、list、set、map还是其他STL容器#xff0c;size()都能帮你快速…一、什么是size()函数在C的STLStandard Template Library中size()是一个极其常用的成员函数用于返回容器中当前元素的数量。无论你使用的是vector、list、set、map还是其他STL容器size()都能帮你快速获取容器的大小。二、基本用法#include iostream #include vector #include list #include set using namespace std; int main() { // vector示例 vectorint vec {1, 2, 3, 4, 5}; cout Vector大小: vec.size() endl; // 输出: 5 // list示例 liststd::string lst {apple, banana, cherry}; cout List大小: lst.size() endl; // 输出: 3 // set示例 setdouble st {1.1, 2.2, 3.3, 4.4}; cout Set大小: st.size() endl; // 输出: 4 return 0; }三、size()的特点1.时间复杂度O(1)几乎所有STL容器的size()操作都能在常数时间内完成这意味着容器会维护一个内部计数器来跟踪元素数量。2.返回类型size_tsize()返回的是size_t类型这是一个无符号整数类型足够大以表示任何可能容器的大小。3.空容器的size()返回0vectorint emptyVec; cout emptyVec.size(); // 输出: 0四、实际应用场景1.循环遍历vectorint numbers {10, 20, 30, 40, 50}; // 传统的遍历方式 for (size_t i 0; i numbers.size(); i) { cout numbers[i] ; } // 或者结合C11的范围for循环 for (const auto num : numbers) { cout num ; }2.检查容器是否为空// 虽然可以使用empty()但size() 0也能达到相同效果 vectorint data; if (data.size() 0) { cout 容器为空! endl; } // 更推荐使用empty()因为语义更清晰 if (data.empty()) { cout 容器为空! endl; }3.容器操作前的检查vectorint scores {85, 90, 78}; // 安全地访问元素 if (scores.size() 2) { cout 第三个分数是: scores[2] endl; } // 安全地删除元素 if (!scores.empty()) { scores.pop_back(); // 删除最后一个元素 }五、注意事项和常见陷阱1.无符号整数的陷阱vectorint vec {1, 2, 3}; // 这段代码可能导致无限循环 // 当i减到0后再减1会变成最大的size_t值 for (size_t i vec.size() - 1; i 0; --i) { // 无限循环 } // 正确的反向遍历方式 for (size_t i vec.size(); i-- 0; ) { cout vec[i] ; }2.size()与capacity()的区别vectorint vec; vec.reserve(100); // 预分配100个元素的空间 cout size: vec.size() endl; // 输出: 0 cout capacity: vec.capacity() endl; // 输出: 100 vec.push_back(1); vec.push_back(2); cout size: vec.size() endl; // 输出: 2 cout capacity: vec.capacity() endl; // 输出: 1003.C17中的size()改进从C17开始除了容器的成员函数size()还提供了非成员函数std::size()#include iterator int arr[] {1, 2, 3, 4, 5}; std::cout 数组大小: std::size(arr) std::endl; // 输出: 5 std::vectorint vec {1, 2, 3}; std::cout 向量大小: std::size(vec) std::endl; // 输出: 3六、性能考虑虽然size()是O(1)操作但在某些情况下重复调用size()可能不是最佳实践// 不佳的写法每次循环都调用size() for (size_t i 0; i vec.size(); i) { // 如果vec在循环中被修改这可能是必要的 } // 优化写法缓存size()结果 size_t n vec.size(); for (size_t i 0; i n; i) { // 但要注意如果循环中修改了vec的大小这可能导致错误 }七、总结size()是STL中最基础、最常用的函数之一它的简单性掩盖了其重要性。掌握size()的正确使用不仅能让你的代码更安全避免越界访问还能提高代码的可读性。记住以下几点size()返回容器当前元素数量时间复杂度为O(1)使用size_t类型接收返回值注意无符号整数的特性在C17及以上可以使用更通用的std::size()区分size()和capacity()的不同含义在需要频繁检查容器大小时考虑缓存结果以提高性能八、今日题目问题描述编写一个程序从标准输入读取一段英文文本以EOF结束统计每个字母不区分大小写出现的次数并按照字母表顺序输出每个字母及其出现频率。输入格式一段英文文本可能包含多行以EOF结束。输出格式按照字母顺序每行输出一个字母及其出现次数格式为字母: 次数如果某个字母没有出现则不输出该字母。输入Hello World! This is a test. Programming is fun!输出a: 2 d: 1 e: 2 f: 1 g: 2 h: 2 i: 4 l: 3 m: 2 n: 2 o: 3 p: 1 r: 3 s: 5 t: 4 u: 1 w: 1代码解答#include iostream #include map #include cctype // 用于isalpha()和tolower()函数 using namespace std; int main() { // 使用map存储字母及其频率map会自动按键字母排序 mapchar, int letterCount; char ch; // 从标准输入读取字符直到EOF while (cin.get(ch)) { // 检查字符是否为字母 if (isalpha(static_castunsigned char(ch))) { // 转换为小写字母 char lowerCase tolower(static_castunsigned char(ch)); // 在map中增加该字母的计数 letterCount[lowerCase]; } } // 使用size()函数检查容器状态 if (letterCount.size() 0) { cout 没有找到任何字母 endl; } else { cout 字母频率统计结果 endl; // 遍历map自动按字母顺序输出 for (const auto pair : letterCount) { cout pair.first : pair.second endl; } } return 0; }昨天忘发了今天补发一条.
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

建设银行官方网站首页广东省建设监理协会网站 - 首页

在数字创作日益依赖AI助力的今天,数据隐私与创作自由成为用户最为关切的核心议题。Dolphin-Mistral-24B-Venice作为一款专为隐私敏感场景设计的开源大语言模型,通过本地化部署和无限制交互机制,为创作者提供了前所未有的内容生成自由度与安全…

张小明 2026/1/5 19:51:43 网站建设

网站开发技术知识做推广的网站吗

cloc终极指南:5步掌握代码行数精准统计技巧 【免费下载链接】cloc cloc counts blank lines, comment lines, and physical lines of source code in many programming languages. 项目地址: https://gitcode.com/gh_mirrors/cl/cloc 想要快速了解项目规模&a…

张小明 2026/1/11 4:09:47 网站建设

怎样做网站标题优化wordpress文章数据库表

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/aippt https://www.paperxie.cn/ai/dissertationhttps://www.paperxie.cn/ai/dissertation 在当今的学术环境中,撰写一篇高质量的毕业论文,早已不是单纯的“码字”过程。它是一场涉…

张小明 2025/12/25 21:56:00 网站建设

建个免费的销售网站企业内部门户网站建设

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个map遍历实战项目,包含完整的功能实现和部署方案。点击项目生成按钮,等待项目生成完整后预览效果 在实际开发中,Map数据结构的使用非常频…

张小明 2025/12/24 8:09:36 网站建设

怎样做p2p网站网页界面设计使用色彩的作用是什么

10大论文选题工具核心对比 排名 工具名称 核心功能 效率评分 适用场景 1 aicheck 智能选题大纲生成 ★★★★★ 完全无头绪时的选题生成 2 aibiye 选题优化可行性分析 ★★★★☆ 已有初步方向的优化调整 3 知网 学术资源库选题参考 ★★★★☆ 专业领域深度…

张小明 2026/1/4 9:49:44 网站建设

高校网站建设前言关于《大学物理》网站资源建设的思路

深入了解Sendmail:配置、管理与安全控制 1. 基本Sendmail配置 在FreeBSD系统中,Sendmail已经预安装并配置好以满足基本的电子邮件需求。要启用Sendmail,让它在系统启动时自动运行,你只需在 /etc/rc.conf 文件中添加以下行: sendmail_enable=”YES”你甚至可以仅通过…

张小明 2026/1/16 22:53:36 网站建设