C++Primer学习笔记(二)
17.string对象中字符的处理:
cctype头文件中定义:
isalnum(c) 如果c是字母或数字,则为true
isalpha(c) 如果c是字符,则为true
iscntrl(c) 如果c是控制字符,则为true
isdigit(c) 如果c是数字,则为true
isgraph(c) 如果c不是空格,但可打印,则为true
isprint(c) 如果c是可打印字符,则为true
ispunct(c) 如果c是标点符号,则为true
isspace(c) 如果c是空白字符,则为true
isupper(c) 如果c是大写字母,则为true
islower(c) 如果c是小写字母,则为true
isxdigit(c) 如果c是十六进制数,则为true
tolower(c) 如果c是大写字母,则返回其小写形式,否则直接返回c
toupper(c) 如果c是小写字母,则返回其大写形式,否则直接返回c
空白字符指:空格,制表符,垂直制表符,回车,换行符,进纸符
(示例1:输出给定的string对象中标点符号的个数)
1 #include <iostream> 2 #include <string> 3 #include <cctype> 4 using namespace std; 5 6 void main() 7 { 8 string s("!Hello LatourEiffel!!!"); 9 string::size_type count = 0; 10 11 for (string::size_type index = 0; index != s.size(); index++) 12 { 13 if(ispunct(s[index])) 14 { 15 count++; 16 } 17 } 18 cout<<count 19 <<" punctuation characters in " 20 <<s<<endl; 21 }
(示例2:把string对象中的字母全部大写字母输出)
1 #include <iostream> 2 #include <string> 3 #include <cctype> 4 using namespace std; 5 6 void main() 7 { 8 string s("!Hello LatourEiffel!!!"); 9 10 for (string::size_type index = 0; index != s.size();index++) 11 { 12 s[index] = toupper(s[index]); 13 } 14 cout<<s<<endl; 15 }
18.标准库vector类型:
vector是同一种类型的对象的集合,每个对象都有一个对应的整数索引值.
通过将类型放在类模版名称后面的<>中类指定数据类型:
vector<int> ivec;
vector<Sales_item> Sales_vec;
vector不是一种数据类型,而只是一个类模版.
vector类型的每一种都指定了其保存元素的类型,
如vector<int>和vector<string>都是数据类型.
vector对象的初始化:
vector<T> v1; vector保存类型为T的对象,默认构造函数V1为空
vector<T> v2(v1); v2是v1的一个副本
vector<T> v3(n,i); v3包含n个值为i的元素
vector<T> v4(n); v4含有值初始化的元素的n个副本
如:
vector<int> ivec(10,-1); //10 elements,each initialized to -1
vector<string> svec(10,"hi!"); //10 strings,each initialized to "hi!"
19.vector对象的操作:
v.empty() 如果v为空,则返回true,否则返回false
v.size() 返回v中元素的个数
v.push_back(t) 在v的末尾增加一个值为t的元素
v[n] 返回v中位置为n的元素
v1 = v2 把v1的元素替换为v2中元素的副本
v1 == v2 如果v1与v2相等,则返回true
注意:vector中size和empty的操作和string中相关操作类似:
vector<int>::size_type
20.vector的下标操作不能添加元素:
vector<int> ivec;
for (vector<int>::size_type ix = 0; ix != 10; ++ix)
{
ivec[ix] = ix;
}
错误:上述程序中的ivec是空的vector对象,而下标只能用于获取已存在的元素.
正确写法如下:
for (vector<int>::size_type ix = 0; ix != 10; ++ix)
{
ivec.push_back(ix);//ok!
}
转载于:https://www.cnblogs.com/LatourEiffel/archive/2012/11/24/2785732.html
C++Primer学习笔记(二)相关推荐
- qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)
原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...
- C++ Primer 学习笔记(第四章:表达式)
2019独角兽企业重金招聘Python工程师标准>>> ##C++ Primer 学习笔记(第四章:表达式) [TOC] ###4.1 基础 左值和右值: 当一个对象被用作右值的时候 ...
- [转载]dorado学习笔记(二)
原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...
- PyTorch学习笔记(二)——回归
PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...
- tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数
tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报 分类: tensorflow(4) 目录(?)[+] 本笔记目的 ...
- Scapy学习笔记二
Scapy学习笔记二 Scapy Sniffer的用法: http://blog.csdn.net/qwertyupoiuytr/article/details/54670489 Scapy Snif ...
- Ethernet/IP 学习笔记二
Ethernet/IP 学习笔记二 原文链接:http://wiki.mbalib.com/wiki/Ethernet/IP 1.通信模式 不同于源/目的通信模式,EtherNet/IP 采用生产/消 ...
- Java学习笔记二:数据类型
Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...
- 吴恩达《机器学习》学习笔记二——单变量线性回归
吴恩达<机器学习>学习笔记二--单变量线性回归 一. 模型描述 二. 代价函数 1.代价函数和目标函数的引出 2.代价函数的理解(单变量) 3.代价函数的理解(两个参数) 三. 梯度下降- ...
最新文章
- 如何利用 C# 爬取「当当 - 计算机与互联网图书销量榜」!
- 深度学习 | 三个概念:Epoch, Batch, Iteration
- 软件工程师的发明家—从发明家的视角分析软件
- 力扣算法001_两数之和
- Bootstrap 源代码之行内代码
- u-boot移植随笔:终于解决Nor Flash的问题了
- 第009讲 初识css 类选择器 id选择器 html选择器
- drools规则引擎应用笔记
- 国内游戏产业现状十一谈
- Java多线程编程-(17)-多线程异步调用之Future模式
- DEP bypass
- ps更换底色2019版本以上
- 2019.07.一年级暑假——自动随机生成100以内加减法算术题的python实现
- From Mother Teresa
- ESP32S2片外PSRAM的使用
- openssl命令查看证书有效期_使用 openssl 生成证书
- mysql数据库分区
- 解决:GET http://localhost:**/static/js/jquery.min.js net::ERR_ABORTED 404
- kafka消费者如何才能从头开始消费某个topic的全量
- @import 错误用法
热门文章
- 设置普通用户执行docker命令,执行docker命令无需输入密码或者切换root用户
- 2021-2027全球与中国经颅磁刺激仪(TMS)市场现状及未来发展趋势
- 距离传感器控制灯泡代码_如何使用颜色传感器和超声波传感器检测障碍物和避障...
- 2022-2028年中国阻燃纤维行业市场研究及前瞻分析报告
- 前端Vue学习之路(一)-初识Vue
- dataframe sample 采样,抽样
- LeetCode简单题之反转单词前缀
- 操作系统学习笔记 第四章:存储器管理(王道考研)
- CUDA 7 Stream流简化并发性
- 构建深度学习框架运行平台