【发布时间】:2019-08-16 09:48:08
【问题描述】:
我只需要知道哪个数组更快:2D char 数组或 1D 数组到 char 指针。
例如:
char* name1[]={"Marc", "Jean-Marie", "Paul", ...}
char name2[][11]={"Marc", "Jean-Marie", "Paul", ...}
如果我有相同的代码可以对这些数组进行排序,那么哪一个会更快完成?
【问题讨论】:
-
动态数组是什么意思?我在这里看不到任何动态分配。
-
对不起,我的意思是一个指向 char 指针的数组,我会编辑它
-
如果您打算对它们进行就地排序,那么
name1可能会更快,因为您可以交换指针。name2行将要求您移动整个字符串,而不仅仅是指向字符串的指针。 -
你试过了吗?如果你真的需要对某些东西进行速度优化,那么就没有办法同时进行编程和测量。如果你只知道如何实现两者中的一个,那么先去尝试它是否真的值得优化,因为另一个不一定更快。
-
是的,我稍后会这样做,但现在我只需要一个快速的答案。谢谢