Tips for C++ Primer Chapter 3

第三章 字符串、向量和数组

命名空间
using std::cin;

using namespace std;

string s4(3, ‘c‘); //s4的值是"ccc"

使用getline读取一整行

string line;

getline(cin, line);

若成功读取一行,getline函数返回true(读到空行也返回true,因为成功读到一个‘\n‘;此时line为空字符串),读取失败返回false。

getline读取遇到换行符为止,换行符也被读进来了,但在把字符串存入string对象时,换行符没有存进去。

string对象上的操作

os<<s 将s写到输出流os,返回os

is>>s 从输入流is中读取字符串赋给s,返回is

getline(is, s) 从输入流is中读取一行赋给s

s.empty()

s.size() s.length() 二者没有区别

s[i]

+

=、==、!=

<、<=、>、>=

string的size函数返回类型是size_type类型,它是一个无符号整数。

string s("abc"); //s.size()值为3,注意它是无符号数

bool b1 = s.size() < -1; //b1的值是true;因为s.size()是无符号数,混用带符号数与无符号数时,带符号数会自动转换成一个无符号数,此处-1将变成一个很大的正整数(转换的方式在第2章已讨论)

int len = s.size(); //无符号数s.size()先转换成一个带符号数len

bool b2 = len < -1; //b2的值是false;因为len是一个带符号数,与-1比较时不存在带符号数与无符号数混用而发生意想不到的自动转换问题

字符串的字典序大小比较

字符串大小的比较结果等于第一对相异字符的比较结果

"abc" < "ac"

若对应位置字符全都相同,则长度较小的字符串小

"abc" < "abcd"

否则两字符串相等

时间: 2024-08-27 00:40:59

Tips for C++ Primer Chapter 3的相关文章

C++ Primer Chapter 1

When I start reviewing, I thought Chapter is useless. Because the title is "Getting Start" . I thought that is useless. But I found something I miss before, so I review it and found I understand something that confused me. So every parts is usef

C++学习笔记_01 C++ Primer chapter 1

Key Concept: TypesTypes are one of the most fundamental concepts in programming and aconcept that we will come back to over and over in this Primer. A typedefines both the contents of a data element and the operations that arepossible on those data.T

laravel code bright

Project RootLet’s start by taking a look at the root folder structure.• app/• bootstrap/• vendor/• public/• .gitattributes• .gitignore• artisan• composer.json• composer.lock• phpunit.xml• server.php bootstrap• autoload.php• paths.php• start.phpThe bo

C++primer学习笔记(二)——Chapter 4

4.1  Fundamentals 1.Basic Concepts (1)操作符分为一元,二元或者三元操作符: (2)复杂的表达式中含有很多操作符时: 规则一:分为不同的级别,级别高的先运行: 规则二:相同级别的操作符有执行顺序的确定: (3)操作符可以改变操作数的类型 一般将级别低的转化成级别高的 (4)重载运算符 相同的运算符在对不同类型的对象进行操作的时候,会有不同的功能: (5)Lvalue和Rvalue 显而易见:Lvalue指的是Left value,Rvalue指的是Right

EFFECTIVE OBJECTIVE-C 2.0 TIPS 总结 CHAPTER 1 &amp; CHAPTER 2

下面只是对读到的所有 Tips 结合我平时开发中遇到的问题进行总结,每一个 Tips 和书中的每一条对应,本文的目的是去掉书中的大部分讨论的内容,让人能够马上使用这些 Tips,建议阅读过原书后食用更佳. CHAPTER 1 熟悉 OBJECTIVE-C Tips 1 Objective-C 的起源 Objective-C 是从 C 语言演化而来,有 C 的一些基础会有很大帮助 Tips 2 头文件中减少引用 减少在类的头文件中 import 其他头文件,如果使用其他类,那么使用@class C

C++primer学习笔记(一)——Chapter 3

3.1 Namespace using Declarations 1.因为C++里有名字空间的定义,例如我们使用cin的时候必须写成std::cin,如果就用一次还是可以接受的,但是如果一直都这样,那就很麻烦了.所以C++使用了一个姓的关键字using. (1)第一种用法: 例如:using namespace std; 这样子的话就可以使用std名字空间下面所有的方法而不用加std::. (2)第二种用法: 例如:using std::cin; 这样子的就只能cin前面不加std::,而其他的

C++ Primer(第五版)读书笔记 &amp; 习题解答 --- Chapter 3

Chapter 3.1 1. using声明具有如下的形式: using namespace::name; Chapter 3.2 1. C++标准一方面对库类型所提供的操作做了规定,另一方面也对库的实现做出了性能上的要求,所以,在一般的应用场合,标准库类型都有足够的效率. 2. 当用一个字符串字面值初始化string对象时,除了最后那个空字符外其他所有的字符都会被拷贝到新创建的string对象中去. 3. 如果使用等号初始化一个变量,实际上执行的是拷贝初始化.如果不使用等号,则执行的是直接初始

C++ Primer(第五版)读书笔记 &amp; 习题解答 --- Chapter 1

Chapter 1.1 1. 每个C++程序都必须有且只能有一个main函数,main函数的返回类型必须是int.操作系统通过调用main函数来运行C++程序. 2. 一个函数的定义包含四部分:返回类型.函数名.形参列表以及函数体. 3. 当return语句包含一个值时,此返回值的类型必须与函数的返回类型相兼容. 4. 类型是程序设计最基本的概念之一.一种类型不仅定义了数据元素的内容,还定义了这类数据上可以进行的运算. Chapter 1.2 1. C++包含了一个全面的标准库,标准库就是一个类

C++ Primer(第五版)读书笔记 &amp; 习题解答 --- Chapter 2

Chapter 2.1 1. 数据类型决定了程序中数据和操作的意义. 2. C++定义了一套基本数据类型,其中包括算术类型和一个名为void的特殊类型.算术类型包含了字符.整型.布尔值以及浮点数.void无值也无操作,我们不能定义一个void类型的变量. 3. 算术类型的尺寸,也就是该类型所占的比特数,在不同机器上有所差别.下表列出了C++标准规定的最小尺寸,同时允许编译器赋予这些类型更大的尺寸: 由于比特数的不同,一个类型所能表达的最大(最小)值也是不同的. 4. C++语言规定,一个int至