当前位置:网站首页>3.1-3.3 读书笔记
3.1-3.3 读书笔记
2022-08-10 06:12:00 【CCSUZB】
3.2.2 string对象上的操作
请说明string类的输入运算符和getline函数分别是如何处理空白字符的。
(1)string:类似 is >> s 的读取,string对象会忽略开头的空白并从第一个真正的字符开始,直到遇见下一空白为止。
(2)getline:类似 getline(is, s) 的读取,string对象会从输入流中读取字符,直到遇见换行符为止。
3.2.3 处理string对象中的字符
下面的程序有何作用?它合法吗?如果不合法?为什么?
string s;
cout << s[0] << endl;
不合法。使用下标访问空字符串是非法的行为。
下面的范围for语句合法吗?如果合法,c的类型是什么?
const string s = “Keep out!”;
for(auto &c : s){ /* … */ }
要根据for循环中的代码来看是否合法,c是string 对象中字符的引用,s是常量。因此如果for循环中的代码重新给c赋值就会非法,如果不改变c的值,那么合法。
3.3 标准库类型vector
下列vector对象的定义有不正确的吗?如果有,请指出来。对于正确的,描述其执行结果;对于不正确的,说明其错误的原因。
vector<vector<int>> ivec; // 在C++11当中合法
vector<string> svec = ivec; // 不合法,类型不一样
vector<string> svec(10, "null"); // 合法
下列的vector对象各包含多少个元素?这些元素的值分别是多少?
vector<int> v1; // size:0, no values.
vector<int> v2(10); // size:10, value:0
vector<int> v3(10, 42); // size:10, value:42
vector<int> v4{
10 }; // size:1, value:10
vector<int> v5{
10, 42 }; // size:2, value:10, 42
vector<string> v6{
10 }; // size:10, value:""
vector<string> v7{
10, "hi" }; // size:10, value:"hi"
3.3.3 其他vector操作
下面的程序合法吗?如果不合法,你准备如何修改? vector ivec; ivec[0] = 42;
不合法。应改为:ivec.push_back(42);
如果想定义一个含有10个元素的vector对象,所有元素的值都是42,请例举三种不同的实现方法,哪种方式更好呢?
如下三种:第一种最好
vector<int> ivec1(10, 42);
vector<int> ivec2{
42, 42, 42, 42, 42, 42, 42, 42, 42, 42 };
vector<int> ivec3;
for (int i = 0; i < 10; ++i)
ivec3.push_back(42);
边栏推荐
猜你喜欢

Qt借助隐藏控件和QSS绘制重复元素
![Chapter 12 Other Database Tuning Strategies [2. Index and Tuning] [MySQL Advanced]](/img/6d/f7fffb327f3191ac4c5a3dc7808c89.png)
Chapter 12 Other Database Tuning Strategies [2. Index and Tuning] [MySQL Advanced]

Confluence可以连接数据库但是在下一步就报错了

OSPF的dr和bdr

语法基础(判断语句)
![Chapter 11 Database Design Specifications [2. Index and Tuning] [MySQL Advanced]](/img/a5/88699cf7b7fc0ca721977dc07b0602.png)
Chapter 11 Database Design Specifications [2. Index and Tuning] [MySQL Advanced]

Reproduce dns out-band data combined with sqlmap

虚幻5简单第三人称游戏制作文档

BUUCTF笔记(web)
![[Reinforcement Learning]](/img/14/27518d1fd3287487970c14c2489dfb.png)
[Reinforcement Learning] "Easy RL" - Q-learning - CliffWalking (cliff walking) code interpretation
随机推荐
761. 特殊的二进制序列
Excuse me.Oracle CDC connector supports LogMiner and XStream API two ways to capture
语法基础(判断语句)
Confluence可以连接数据库但是在下一步就报错了
UnityShader入门精要-unity shader基础
Qt使用私有接口绘制窗口阴影
OpenGL学习笔记(LearnOpenGL)-第二部分 绘制三角形
OpenGL学习笔记(LearnOpenGL)-第四部分 着色器
OpenGL学习笔记(LearnOpenGL)第一部分-环境配置与基础知识
各位大佬 oracle cdc 默认配置 偶发会30秒才抓取到数据 这个怎么优化啊
Qt中输入框在Win10上“Win+/“快捷键的一个Bug
pthread编程重要知识点
MySQL之InnoDB引擎(六)
杭州公积金修改手机号信息
一种奇怪的函数声明写法
请问一下。Oracle CDC 连接器支持 LogMiner 和 XStream API 两种方式捕
NetKeeper(创翼)开WIFI方法——2018.5
webSocket教程
2022 Henan Mengxin League Game (5): University of Information Engineering F - Split Turf
什么是MQTT网关?与传统DTU有哪些区别?