上一次整理完了《c++ primer》的第二章的内容。这次整理本书的第3章内容。 这里还是声明一下,我整理的主要是自己不知道的或者需要注意的内容,以我本人的主观意志为准,并不具备普适性。...字符串、数组、vector等都是存储在内存的连续空间中,而且都是线性结构。算是c++语言中的基础数据结构了。...string(const string&): 使用一个字符串来初始化另一个字符串,新字符串是传入字符串的一个副本 string(char*): 使用一个字符数组来初始化字符串 string(int,...另外提一句,我当初在初学的时候一直把c语言的思路带入到c++中,导致我一直认为跌迭代器就是指针或者下标,我试图使用指针和下标的方式来理解,然后发现很多地方搞的很乱,也很模糊。...= pend; it++) { cout << *it << endl; } c++ 11中引入两个函数来获取数组的begin位置和end位置,分别为begin() 与 end() int ai
Matlab中的向量和数组(超详细) ---- 文章目录 Matlab中的向量和数组(超详细) Matlab中的向量 介绍 创建向量 向量的大小 索引向量 数值索引 逻辑索引...中的向量是只有一行元素的数组,向量中的单个项通常称为元素。...可以通过以下两种方式中的任意一种访问向量中的元素: 使用数值向量和逻辑向量。 数值索引 通过在括号内输入零个或多个元素的索引值,可以单个或分组访问向量中的元素。...向量运算 算术运算 向量中的加减法运算 可以看见是对向量中每个元素进行加法运算,减法也一样 向量中的乘法、除法....逻辑运算 向量的逻辑运算会产生的逻辑结果向量。
2.1 数组向量基础应用如下C++代码,展示了如何使用STL的vector容器对数组进行元素添加、弹出、大小重置和空间调整等操作,并使用自定义函数MyPrint()输出结果。...C++代码,展示了如何使用vector容器对字符串数组进行插入和删除操作,并使用循环遍历输出结果。...在代码中,首先定义了一个vector容器str_array,该容器存放的是字符串类型的元素,使用了初始化列表给其赋予了初始值:admin、guest和lyshark。...C++代码,展示了如何以指针类型存储对象,并使用迭代器进行遍历。...+代码,展示了如何创建向量容器(vector)并实现容器间的构造、赋值、互换等操作。
2.1 数组向量基础应用 如下C++代码,展示了如何使用STL的vector容器对数组进行元素添加、弹出、大小重置和空间调整等操作,并使用自定义函数MyPrint()输出结果。...如下C++代码,展示了如何使用vector容器对字符串数组进行插入和删除操作,并使用循环遍历输出结果。...在代码中,首先定义了一个vector容器str_array,该容器存放的是字符串类型的元素,使用了初始化列表给其赋予了初始值:admin、guest和lyshark。...如下C++代码,展示了如何以指针类型存储对象,并使用迭代器进行遍历。...+代码,展示了如何创建向量容器(vector)并实现容器间的构造、赋值、互换等操作。
定义CStack类实现栈操作。CStack类继承CVector类,新增私有数据成员:
有的时候,使用C++进行爬虫操作时,会涉及到一些请求参数的加密,例如对utf8的中文进行加密,我们用js对如下字符串进行加密的结果如下: 加密前字符串:keras-lx-还魂草.z01 URL加密后...:keras-lx-%E8%BF%98%E9%AD%82%E8%8D%89.z01 使用网页在线加密工具和使用js加密效果是一样的 自己用C++写的URL加密代码如下: // URL编码.cpp...** 我们运行这个程序,得到如下运行结果 keras-lx-%E8%BF%98%E9%AD%82%E8%8D%89.z01 这个生成结果与使用js的encodeURIComponent函数对字符串进行
C++ 字符串C++ 提供了以下两种类型的字符串表示形式:C 风格字符串C++ 引入的 string 类类型C 风格字符串C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。...字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个 RUNOOB 字符串。...site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};依据数组初始化规则,您可以把上面的语句写成以下语句:char site[] = "RUNOOB";以下是 C/C+...C++ 编译器会在初始化数组时,自动把 \0 放在字符串的末尾。...我们将学习 C++ 标准库中的这个类,现在让我们先来看看下面这个实例:现在您可能还无法透彻地理解这个实例,因为到目前为止我们还没有讨论类和对象。
C++ 字符串 C++ 提供了以下两种类型的字符串表示形式: C 风格字符串 C++ 引入的 string 类类型 C 风格字符串 C 风格的字符串起源于 C 语言,并在 C++ 中继续得到支持。...字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。 下面的声明和初始化创建了一个 RUNOOB 字符串。...C++ 编译器会在初始化数组时,自动把 \0 放在字符串的末尾。...+ 中的 String 类 C++ 标准库提供了 string 类类型,支持上述所有的操作,另外还增加了其他更多的功能。...我们将学习 C++ 标准库中的这个类,现在让我们先来看看下面这个实例: 现在您可能还无法透彻地理解这个实例,因为到目前为止我们还没有讨论类和对象。
这是在看完了C++ Primer这本书之后又回过头来码的笔记,在看的时候也发现,看到后面,前面就忘了,有点像狗熊掰玉米。。。...vector v5{"hi"}; // 列表初始化:v5有一个元素 vector v6("hi"); // 错误:不能使用字符串字面值构建...字符数组可以用字符串字面值进行初始化,要注意,字符串字面值的结尾处有一个空字符,这个空字符也会被拷贝到字符数组中。所以在定义字符数组的大小时,要考虑到这个空字符。...列表初始化,没有空字符 char a2[] = {'C', '+', '+', '\0'}; // 列表初始化,含有显式的空字符 char a3[] = "C+...14.现代的 C++程序应尽量使用 vector和迭代器,避免使用内置数组和指针;应该尽量使用 string,避免使用 C风格的基于数组的字符串。
用字符数组存放字符串容易发生数组越界的错误,而且往往难以察觉。因此,C++ 标准模板库设计了 string 数据类型,专门用于字符串处理。...string 类型的变量就是用来存放字符串的,也叫“string对象”。string 并不是 C++ 的基本数据类型,它是 C++ 标准模板库中的一个“类”。关于这一点,现在不必深究,以后会学到。...]=“hello"; 错误的表现形式 存储字符串的时候,数组长度要给字符串结尾’\0’留一个长度防止越界。...(2, "sz"); //从[2]位置开始添加字符串“sz”,并返回形成的新字符串 .str.insert(2, "abcd", 3) //从[2]开始添加字符串“abcd”前3个字符,并返回形成的新字符串....str.insert(2, "abcd", 1, 3) //从[2]开始添加字符串“abcd”前[2]~[2+(3-1)]个字符,并返回形成的新字符串
题目描述 对于一个长度为 n 字符串,我们需要对它做一些变形。...首先这个字符串中包含着一些空格,就像"Hello World"一样,然后我们要做的是把这个字符串中由空格隔开的单词反序,同时反转每个字符的大小写。...进阶:空间复杂度 O(n)O(n) , 时间复杂度 O(n)O(n) 输入描述: 给定一个字符串s以及它的长度n(1 ≤ n ≤ 10^6) 返回值描述: 请返回变形后的字符串。...题目保证给定的字符串均由大小写字母和空格构成。 思路分析 要看清楚题目说的是将单个单词里面的字母顺序,而不是将这个字符串里面的单词的顺序颠倒。...因为C++的算法库里面有reverse函数,它的作用就是将整个字符串的字符顺序颠倒过来,所以我的思路比较大众化,为将单词里面的字母顺序颠倒,首先用reverse函数将整个字符串的字符顺序颠倒,然后,用空格作为字符串划分单词的判断点
; //返回当前字符串的大小 int length()const; //返回当前字符串的长度 bool empty()const; //当前字符串是否为空 void...string &s);//把字符串s赋给当前的字符串 string &assign(const char *s); //把字符串s赋给当前的字符串 string &assign(const char...*s, int n); //把字符串s的前n个字符赋给当前的字符串 string &assign(const string &s); //把字符串s赋给当前字符串 string &assign(int...字符串连接 string &operator+=(const string &s); //把字符串s连接到当前字符串结尾 string &operator+=(const char *s);//把字符串...; //从pos开始查找字符串s在当前字符串的位置 int find(const string &s, int pos=0) const; //从pos开始查找字符串s在当前字符串中的位置 find
参考链接: C++ strcspn() C++字符串 C中的字符串C++中的字符串字符串创建字符元素存取字符串赋值字符串操作字符串流 总结 C中的字符串 C语言中不提供字符串类型,因此所谓的字符串不过是一组以...当然,C++仍旧保留了这种C语言的字符串操作方式,而中的相关内容以C++的表现形式被包含于中。...为了方便描述,本文后面的内容把C语言下的字符串用cstring来表示。 C++中的字符串 C++中除了支持C中的字符数组外,还提供了一个更加强大的string类。...字符串创建 C++对string的构造函数实现了多个重载,因此有很多不同的方法来定义并初始化一个字符串。...此外,C++还提供了append()和push_back()来对字符串进行增操作,erase()来对字符串进行减操作,clear()来对字符串进行清空等操作。
字符串插入 题目内容: 有两个字符串str和substr,str和substr的字符个数不超过10^5,只包含大小写字母和数字。(字符个数不包括字符串结尾处的'\0'。)...输入格式: 输入数据只有一行,格式为 str substr 输出格式: 输出插入之后的字符串。
c++练习。 实现的功能是根据分割符将字符串分割成多个字符串,存进堆上的vector容器中。
本文链接:https://blog.csdn.net/K346K346/article/details/102553618 编译运行环境:VS2017 + Win32 + Debug ---- C++...中经常需要对字符串按照分隔符进行分割以获得子串序列,子串的顺序与其在原字符串中出现的顺序一致。...一般有两种需求场景: (1)给定一个分隔符(单个字符或子串)分割字符串; (2)给定一个或多个分隔符(单个字符),分割字符串。...当给定的分隔符不在原字符串中,则原字符串不被分割,返回单个元素为原字符串的 vector。 注意,本文实现时,如果被分割后的子串为空串,则不计入最终的子串序列。.../@brief: 指定单个分隔符(单个字符或子串)分割字符串 //@param: src 原字符串;delimiter 分隔符,单个字符或子串 vector splitStr(const
java和C#中字符串都可以使用split进行分割,但是C++中却没有这个方法,之前总是自己写一个函数自己进行分割,倒也不麻烦,今天在网上找了类似的函数,发现strtoc()似乎可以完成字符串的分割功能...原型:char *strtok(char s[], const char *delim); 用法:分解字符串为一组字符串。...s为要分解的字符,delim为分隔符字符(如果传入字符串,则以首字符为分割标准)。首次调用时,s指向要分解的字符串,之后再次调用要把s设成NULL。 至于为啥之后要把s置成NULL我也不是很明白。...需要注意的是:strtok是一个线程不安全的函数,因为它使用了静态分配的空间来存储被分割的字符串位置。
参考链接: 使用结构存储和显示信息的C++程序 c++字符串与c风格字符串 1. C风格的字符串2....(2)数值转字符串 3.2.3 c++常用字符串函数3.2.4 原始字符串字面量 你编写的每个应用程序都会使用某种类型的字符串。...C++ STL包含了一个安全易用的std::string类,这个类没有这些 缺点。 1. C风格的字符串 在C语言中,字符串表示为字符的数组。...字符串中的最后一个字符是空字符(\0’) C++包含一些来自C语言的字符串操作函数,它们在头文件中定义。 ...然而,最好的解决方案是切换到C++的 string 类。 2. 字符串字面量 注意,C++程序中编写的字符串要用引号包围。
#include 创建向量的语法如下所示: std::vector name; 比如要定义一个int的向量calories_today: std::vector calories_today; 尖括号内是向量的数据类型。...初始化向量 std::vector some_vector = {0.25, 0.50, 0.75, 1.00}; 现在我们有了一个向量,我们如何访问单个元素?...向量是 0 索引的,这意味着第一个元素的索引为 0,第二个索引为 1,依此类推vector[index]在向量名称和内部元素的索引号之后,使用带方括号的表示法。...some_vector.pop_back(); 向量的大小 不仅存储元素;它还存储向量的大小: .size()函数返回向量中的元素数 #include <iostream
则以下几种都是成立的 vector k;//向量 vectorkk;//int指针的向量,以后再详细斟酌 vector*kkk;//vector向量指针 vector*kkkk;//int指针的向量指针(对比int*p理解,指针变量前面的“*”表示该变量的类型为指针变量,p是指针变量名,而不是*p) vector 不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型
领取专属 10元无门槛券
手把手带您无忧上云