首页 / 知识
如何在C ++中声明字符串数组?
2023-04-13 15:44:00

How to declare an array of strings in C++?我正在尝试以最佳方式遍历静态字符串数组的所有元素。 我希望能够在一行上声明它,并轻松地从中添加/删除元素,而不必跟踪数字。 听起来真的很简单,不是吗? 可能的非解决方案:
问题-无法在带有字符串列表的一行上创建矢量 可能的非解决方案2:
问题-无法自动获取字符串数量(据我所知)。 必须有一个简单的方法来执行此操作。 C ++ 11添加了初始化列表以允许以下语法:
至少在GCC 4.4中和仅在Visual Studio 2013中添加了对此C ++ 11功能的支持。
您可以从静态创建的
顺便说一下,这将复制所有字符串,因此您使用了两倍的内存。您可以使用威尔·迪恩(Will Dean)的建议将此处的魔术数字3替换为arraysize(str_array)-尽管我记得在某些特殊情况下,特定版本的arraysize可能会造成不良后果(对不起,我无法立即记住详细信息) 。但是它通常可以正常工作。
另外,如果您真的对单行很感兴趣,则可以定义一个可变参数宏,这样像
有一种沼泽标准的方式来执行此操作,许多人(包括MS)为诸如以下内容定义了
像这样在C ++中声明一个字符串数组:
例如: 将容纳200个字符串,每个字符串的大小为8kb或8192字节。
使用 一种可能性是使用NULL指针作为标志值:
您可以使用Boost范围库中的
它不起作用的情况是"数组"实际上只是一个指针,而不是一个实际的数组。同样,由于数组传递给函数的方式(转换为指向第一个元素的指针),即使签名看起来像数组 这是一个例子:
除了这个宏,我可以建议这个:
1)我们想使用宏使其成为编译时常量;函数调用的结果不是编译时常量。 2)但是,我们不希望使用宏,因为该宏可能会意外地用于指针。该函数只能在编译时数组上使用。 因此,我们使用函数的定义性来使宏"安全"。如果函数存在(即大小为非零),则我们使用上面的宏。如果该函数不存在,则返回错误值。
您可以直接声明一个字符串数组,例如
|
最新内容
相关内容
Python的迭代和遍历
Python的迭代和遍历,代码,培训,数字,流程,语句,函数,元素,也就是,上面,以上,什么是迭代?迭代就是重复运行一段代码语句块的能力。分为两种方python 列表元素的删除
python 列表元素的删除,代码,数据,位置,连续,异常,首次,培训,元素,列表,空隙,使用del命令删除列表中的指定位置上的元素。>>>a_list=[3,5,7,9python 列表元素访问与计数
python 列表元素访问与计数,异常,首次,培训,列表,元素,下标,对象,方法,次数,以上,使用下标直接访问列表元素,如果指定下标不存在,则抛出异常。>python 列表元素的增加
python 列表元素的增加,地址,位置,情况,元素,列表,代码,培训,对象,尾部,变量,可以使用“+”运算符将元素添加到列表中。>>>aList=[3,4,5]>>>apython中字典遍历时如何同时获得键
python中字典遍历时如何同时获得键和值?,培训,字典,方法,数组,语法,实例,以上,时候,更多,内容,1、item()方法把字典中每对key和value组成一个python中list删除元素的方法有哪些
python中list删除元素的方法有哪些?,数据,首次,代码,培训,元素,方法,列表,变量,索引,内容,我们在日常办公中,会遇到很多繁琐的事物及数据,如果python如何读取列表中元素的位置?
python如何读取列表中元素的位置?,位置,数据,异常,培训,字符串,元素,索引,方法,示例,结果,python读取列表中元素位置的方法:1、使用index()方Python怎么取出列表中的相邻元素?
Python怎么取出列表中的相邻元素?,代码,异常,培训,元素,指针,序列,对象,表示,语句,函数,1、python的迭代器。iter()能把一个序列生成为一个和python怎么返回列表元素索引?
python怎么返回列表元素索引?,检测,异常,培训,索引,元素,列表,方法,字符串,结果,范围内,python中可以使用index()方法返回列表中指定元素的索python如何去除数组中的指定元素
python如何去除数组中的指定元素,培训,元素,函数,除数,序列,参数,示例,语法,以上,条件,python中可以使用filter()函数来删除数组中指定元素。python中如何清空数组(列表)元素
python中如何清空数组(列表)元素,代码,培训,数组,列表,元素,示例,范围,类型,方法,初始化,python本身并没有数组类型,但是他的Numpy库中有数组python怎么往列表里插入元素
python怎么往列表里插入元素,培训,元素,表里,末尾,数值,索引,以上,参数,结果,更多,python中append用来向list的末尾追加单个元素,如果增加的元