【发布时间】:2020-04-21 21:41:34
【问题描述】:
是否存在一种类型优于另一种类型的情况?
我唯一能想到的就是……
一个指针使用 4 个字节,一个 char 数组的大小取决于字符串的长度,所以如果你有一个非常大的字符串,使用 char 指针代替以节省内存是有益的例子:如果你传递字符串通过参数。
但是在字符串操作方面,哪个是首选?
示例:
char *hello_pointer = malloc(sizeof(char) * 20);
char hello_array[20];
strcat(hello_pointer, "hello pointer");
strcat(hello_array, "hello array");
在这种情况下,是否有偏好于另一个?
【问题讨论】:
-
更喜欢使用
std::string。 -
这完全取决于你在做什么。在这里,无论哪种方式,您都缺少一些东西,因为您正在与未初始化的字符串连接。
-
在 2012 年以来制造的任何计算机上,指针都是 8 个字节,但这并不重要,因为同一台计算机肯定有几 GB 的内存。
-
请选择 C 或 C++。它们是不同的语言,最佳答案可能取决于您实际使用的语言。