常规数组/指针数据类型

时间:2010-10-12 11:12:28

标签: c++ arrays types

我正在编写 C ++ 函数,该函数接受字符串数组数量阵列。它看起来像这样:

bool funcname (string skey, string sArr[], int arrSz)

我想传递几种数组数据类型,例如doublecharlong int等。使用string作为数组的数据类型是正确的吗? ?或者我可以使用通用数据类型吗?

提前致谢。

2 个答案:

答案 0 :(得分:4)

以这种方式使用字符串是不好的。除了其他东西,你发送一个字符串数组。你最好使用std :: vector。然后,您可以按如下方式模拟函数:

template< typename T >
bool 
funcname (const std::string& skey, const std::vector< T >& arr )

这样你可以直接查询向量的大小,你可以通过任何数据类型的向量。

还要记住,通过const引用发送结构的效率要高得多,而不是具有结构的“潜在”副本。

答案 1 :(得分:1)

如果你想要数组本身

template <typename T>
bool funcname (T key, T Arr[], int arrSz)
{
//T is the type of array you'll pass
}

也是谷歌的功能模板。 HTH