当前位置:网站首页>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);
边栏推荐
- Everyone, the default configuration of oracle cdc occasionally takes 30 seconds to capture data. How to optimize this?
- 2022河南萌新联赛第(五)场:信息工程大学 K - 矩阵生成
- QEMU guest与host通过网络通信——bridge/hostfwd/guestfwd
- 强化学习_12_Datawhale深度确定性策略梯度
- 全网可达,实现备份
- Regular backup of mysql database (retain backups for nearly 7 days)
- elf文件与链接脚本
- Elementary Structure
- 2022河南萌新联赛第(五)场:信息工程大学 J - AC自动机
- Qt信号槽与事件循环的关系
猜你喜欢
随机推荐
关于研究鼠标绘制平滑曲线的阶段总结
动态代理-cglib
2022河南萌新联赛第(五)场:信息工程大学 F - 分割草坪
程序员的十楼层。看看自己在第几层。PS:我的目标是:30岁第四层
关于MongoDb查询Decimal128转BigDecimal问题
Unity3d famous project-Dark Tree translation
OpenGL学习笔记(LearnOpenGL)-第二部分 绘制三角形
【强化学习】《Easy RL》- Q-learning - CliffWalking(悬崖行走)代码解读
vscode + ccls环境配置
杭州公积金修改手机号信息
Text-to-Image最新论文、代码汇总
COLMAP+OpenMVS realizes 3D reconstruction mesh model of objects
强化学习_11_Datawhale模仿学习
Screen post-processing: Sobel operator to achieve edge detection
2022河南萌新联赛第(五)场:信息工程大学 B - 交通改造
Reproduce dns out-band data combined with sqlmap
Confluence可以连接数据库但是在下一步就报错了
Elementary Structure
About MongoDb query Decimal128 to BigDecimal problem
3. Transactions [mysql advanced]








