c++核心-字符串向量和数组及指针详解

d-dream d-dream     2023-05-01     754

关键词:

关于STL的内容后面再详细介绍,string和vector都是标准模板库的内容。
数组是C的复合类型(可能只有我这么叫),一组数据,空间连续,所以由开始也有结束,从0开始,到n-1结束。注意别越界,因为是从0开始的。
string和vector内部的保存数据的空间也是一个数组,所以空间也是连续的,可以看做数组的封装,同时提供了很多便利的操作,因为便利,所以也会一定程度减少自己犯错误的机会。
空间连续所以可以通过下标(随机,所谓随机,就是可以直接访问,不需要从头一个一个找下来才能找到)访问。因为跟数组一样,所以也是从0开始计算位置的。
数组是一组元素,数组名可以用作数组首个元素的指针,下标操作,类似数组首个指针+n(下标)
取数组的地址,获得的是数组类型,这个要注意,即取复合类型的地址,指向的是复合类型,正如int**是指向int*的指针一样,取数组的地址获取的指针是指向数组的指针。指向数组的指针+1,是数组的首地址加上整个数组长度,而不是元素的长度。
趁着这个机会,好好讲下指针(待续。。。要上班了。)

c++字符串向量和数组的一些术语

C++字符串、向量和数组的一些术语前言一、术语总结前言string和vector是两种最重要的标准库类型。string对象是一个可变长的字符序列,vector对象是一组同类型对象的容器。迭代器允许对容器中的对象进行间接访问,... 查看详情

c++字符串向量和数组的一些术语

C++字符串、向量和数组的一些术语前言一、术语总结前言string和vector是两种最重要的标准库类型。string对象是一个可变长的字符序列,vector对象是一组同类型对象的容器。迭代器允许对容器中的对象进行间接访问,... 查看详情

C++ 通过引用传递向量字符指针

...我需要从文件构建一个向量数组。我设法通过将文件读入字符串缓冲区然后将其保存到以下向量中来创建向量。vector<char>pattern(contents.begin(),contents.end());但是我 查看详情

c++|详解类成员指针:数据成员指针和成员函数指针及应用场合

...个内存空间的首地址,确定了其指向的目标对象的蓝图,核心是由数据类型确定了目标对象所需内存空间大小,数据类型的编码和解码方式。关于代码的指针变量是指指向函数的指针变量,同样是首地址,类型是由函数签名所确... 查看详情

C++ - 指向向量的指针数组?

】C++-指向向量的指针数组?【英文标题】:C++-pointerarraytoVector?【发布时间】:2011-09-0201:16:25【问题描述】:double*values;//insteadofthis,std::vector<double>values;//Iwantthis.我正在使用的API以double*指针的形式提供结果。我想用std::vector&a... 查看详情

在没有向量、指针的情况下在 C++ 中在运行时增加数组大小 [关闭]

】在没有向量、指针的情况下在C++中在运行时增加数组大小[关闭]【英文标题】:Increasearraysizeatruntimeinc++withoutvector,pointer[closed]【发布时间】:2015-05-2213:08:28【问题描述】:我已经在c++中声明了一个具有一定大小的int数组。比如... 查看详情

分段错误:核心转储 C++ 向量对字符串:

】分段错误:核心转储C++向量对字符串:【英文标题】:Segmentationfault:CoredumpedC++vectorpairsofstring:【发布时间】:2017-06-2400:02:48【问题描述】:#include<iostream>#include<vector>#include<string>usingnamespacestd;classstudentpublic:std:: 查看详情

C++中的指针和向量

】C++中的指针和向量【英文标题】:PointerandvectorsinC++【发布时间】:2012-02-0918:30:24【问题描述】:我从C++开始,我有一个疑问:我正在创建一个函数,它将返回类MyClass的对象向量。vector<MyClass>*myMethod()第一个问题,返回指... 查看详情

C++ 向量和结构指针

】C++向量和结构指针【英文标题】:C++Vectorsandstructpointers【发布时间】:2013-11-2620:42:22【问题描述】:我的结构有一个整数向量。但是,当动态创建结构的实例时,我似乎无法访问向量。#include<stdlib.h>#include<iostream>#inclu... 查看详情

如何使用交换函数和指针反转字符串数组? (C++)

】如何使用交换函数和指针反转字符串数组?(C++)【英文标题】:Howtoreverseastringarrayinplaceusingaswapfunctionandpointers?(C++)【发布时间】:2018-03-2001:52:19【问题描述】:我的任务是反转一个字符串数组。我必须使用交换单个字符的交换... 查看详情

c++字符指针数组的初始化及赋值问题

...指针相当于字符数组,那么一维字符指针数组应该相当于字符串数组吧.我还想问的是,在C语言中对字符指针数组初始化可以用for加上malloc函数,那相应的在C++中可不可以用new来初始化呢?可以的话怎么初始化?哦,是的,这个地方忽略了... 查看详情

字符串向量,每个字符串的长度和 c++ 中的 strlen

】字符串向量,每个字符串的长度和c++中的strlen【英文标题】:vectorofstring,eachstringslengthandstrleninc++【发布时间】:2013-11-2111:56:34【问题描述】:我有一个字符串向量。我需要找到每个字符串的长度。然后我假设当我将每个字符... 查看详情

c++ 内存分配向量的指针

】c++内存分配向量的指针【英文标题】:c++memoryallocationvectorofpointers【发布时间】:2014-05-0912:36:03【问题描述】:我正在并行化代码,因此使用结构parallel_vector(ppl)。问题与标准std::vector相同...我首先构建一个指向结构的指针向量... 查看详情

用向量 c++ 中的指针成员初始化对象

】用向量c++中的指针成员初始化对象【英文标题】:InitializeObjectwithPointerMembersinaVectorc++【发布时间】:2015-03-1417:59:53【问题描述】:当我使用push_back()方法时,我希望能够在对象上调用一个重要的构造函数。相反,我所能做的就... 查看详情

在 C++ 中的向量中键入所有值后出现分段错误(核心转储)

...714:46:34【问题描述】:我已经制作了这段代码来打印一个字符串和整数。vector<int>nu;for(intv;cin>>v;)nu.push_back(v);ve 查看详情

详解c语言指针(代码片段)

文章目录1.字符指针2.指针数组3.数组指针3.1数组指针的定义3.2&数组名和数组名的区别3.3数组指针的使用4.数组参数,指针参数4.1一维数组传参4.2二维数组传参4.3一级指针传参4.4二级指针传参5.函数指针6.函数指针数组7.指向... 查看详情

用于删除 Map 中的指针值和指针向量的 C++ 通用代码

】用于删除Map中的指针值和指针向量的C++通用代码【英文标题】:C++GenericcodefordeletingpointervalueinMapandvectorofpointers【发布时间】:2011-11-2217:27:44【问题描述】:我有一些通用代码用于删除向量中的指针或Map的值。有没有更好的方... 查看详情

[c++stl]vector使用详解(代码片段)

一、vector介绍:vector(向量):是一种序列式容器,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而vector正好弥补了这个缺陷,它的特征是相当于可分... 查看详情