考虑一下这个
template <class T>
inline constexpr bool found_to_be_array (T* specimen)
{
if constexpr (std::is_array_v<T>) {
return true;
}
else {
return false;
};
}
问题是在什么情况下,这将产生可靠的结果?
澄清:我不能改变这个函数的内存占用。我没有答案,所以让我在这里发布我的发现。请考虑以下内容:
int ia[]{ 1,2,3,4,5,6,7,8,9,0 };
int iam[3][3][3][3][3]{};
// returns false
auto is_array_1 = found_to_be_array(ia);
// returns true
auto is_array_2 = found_to_be_array(iam);
我仍在研究这一点,但对于多维数组,found_to_be_array
是有效的。
https://stackoverflow.com/questions/51564063
复制相似问题