创建C ++中的字符串数组,你知道这五种方式吗?哪一种是最好的呢

在C和C ++中,字符串是一维字符数组,而在C中,字符串数组是二维字符数组。声明它们的方法有很多,这里提供了一些有用的方法。


1.使用指针:

实际上,我们通过创建指针数组来创建字符串文字数组。

C和C ++都支持此功能。

字符串数是固定的,但不是必须的。可以省略4,编译器将计算正确的大小。

这些字符串是常量,不能更改其内容。由于字符串文字(字面意思是带引号的字符串)存在于内存的只读区域中,因此我们必须在此处指定“ const”,以防止可能导致程序崩溃的不必要访问。


2.使用2D阵列:

当所有字符串的长度已知并且需要特定的内存占用空间时,此方法很有用。字符串空间将在单个块中分配

C和C ++均支持此功能。

字符串数和字符串大小都是固定的。同样,可以忽略4,而编译器将计算适当的大小。但是,必须指定第二维(在这种情况下为10),以便编译器可以选择适当的内存布局。

每个字符串都可以修改,但会占用第二维给出的全部空间。每个都将在内存中紧挨着布置,并且不能更改大小。

有时,需要控制内存占用量,这将分配具有固定规则布局的内存区域。


3.使用字符串类:

STL字符串类可用于创建可变字符串数组。在这种方法中,字符串的大小不是固定的,并且可以更改字符串。

仅C ++支持此功能,因为C没有类。

数组的大小是固定的,但不是必须的。同样,此处的4可以省略,编译器将确定数组的适当大小。字符串也是可变的,允许对其进行更改。


4.使用向量类:

STL容器Vector可用于动态分配大小可变的数组。

这仅在C ++中可用,因为C没有类。请注意,此处的initializer-list语法需要支持2011 C ++标准的编译器,尽管您的编译器很有可能支持,但需要注意。

向量是动态数组,可让您随时添加和删除项。

向量中可以使用任何类型或类,但是给定的向量只能包含一种类型。


5.使用数组类:

STL容器数组可用于分配固定大小的数组。它的用法可能与矢量非常相似,但是大小始终是固定的。

仅在C ++中支持此功能。

笔记:

这些绝不是构成字符串集合的唯一方法。C ++提供了几个容器类,每个容器类都具有不同的权衡和功能,所有这些容器类的存在都是为了满足您在项目中的要求。探索并享受乐趣!

结论:在所有方法中,Vector似乎是在C ++中创建字符串数组的最佳方法。

点击下方了解更多链接,领取学习资料及教程






资讯网10月25日是什么星座如何选择seo推广保健公司保健公司起名seo好处网站建设顶呱呱网站制作易捷网络企业起名大全财务起名字测吉凶查询湘潭SEO超级赘婿林阳商丘到汝州邓圆圆艺术签名候姓男孩起名安康网免费起名测名网学周易必背歌诀seo创业培训免费制作小程序的网站在线设计logo网站周易易经取名大全用父母的姓氏取名起名大全做梦找鞋子周公解梦校园网站建设费用永城信息港净水机店起名字magnet罗马音北京制作网站的公司周公解梦小木船福建高端网站建设女孩起名张子什么营销推广方案包括什么少年生前被连续抽血16次?多部门介入两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”淀粉肠小王子日销售额涨超10倍高中生被打伤下体休学 邯郸通报单亲妈妈陷入热恋 14岁儿子报警何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言张家界的山上“长”满了韩国人?男孩8年未见母亲被告知被遗忘中国拥有亿元资产的家庭达13.3万户19岁小伙救下5人后溺亡 多方发声315晚会后胖东来又人满为患了张立群任西安交通大学校长“重生之我在北大当嫡校长”男子被猫抓伤后确诊“猫抓病”测试车高速逃费 小米:已补缴周杰伦一审败诉网易网友洛杉矶偶遇贾玲今日春分倪萍分享减重40斤方法七年后宇文玥被薅头发捞上岸许家印被限制高消费萧美琴窜访捷克 外交部回应联合利华开始重组专访95后高颜值猪保姆胖东来员工每周单休无小长假男子被流浪猫绊倒 投喂者赔24万小米汽车超级工厂正式揭幕黑马情侣提车了西双版纳热带植物园回应蜉蝣大爆发当地回应沈阳致3死车祸车主疑毒驾恒大被罚41.75亿到底怎么缴妈妈回应孩子在校撞护栏坠楼外国人感慨凌晨的中国很安全杨倩无缘巴黎奥运校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变王树国卸任西安交大校长 师生送别手机成瘾是影响睡眠质量重要因素国产伟哥去年销售近13亿阿根廷将发行1万与2万面值的纸币兔狲“狲大娘”因病死亡遭遇山火的松茸之乡“开封王婆”爆火:促成四五十对奥巴马现身唐宁街 黑色着装引猜测考生莫言也上北大硕士复试名单了德国打算提及普京时仅用姓名天水麻辣烫把捣辣椒大爷累坏了

资讯网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化