C++ 如何编写一个函数来打印一个数组,无论它是什么类型?

C++ 如何编写一个函数来打印一个数组,无论它是什么类型?,c++,arrays,C++,Arrays,我需要知道如何编写一个函数来打印数组,无论它是什么类型。比如,如果我给出一个整数或字符串数组,或者它只是打印出来的任何东西 我是C++的新手,如果可能的话,你不能使用模板和STL?< /p> < p>给定数组/容器 x>代码>你可以写下这些行: template <class X> void print_all(X &x) { for (auto y : x) std::cout << y << std::endl; } 模板

我需要知道如何编写一个函数来打印数组,无论它是什么类型。比如,如果我给出一个整数或字符串数组,或者它只是打印出来的任何东西


我是C++的新手,如果可能的话,你不能使用模板和STL?< /p> < p>给定数组/容器<代码> x>代码>你可以写下这些行:

template <class X>
void print_all(X &x)
{
    for (auto y : x)
        std::cout << y << std::endl;
}
模板
全部作废打印(X&X)
{
用于(自动y:x)

std::cout可能不想在循环中创建副本。实际上-
for(auto&y:x)
会更好-否则这是一个很好的答案。这是你能得到的最简单的模板。我们接受一个对象,不管它是什么类型,只要我们可以迭代它并输出迭代的内容。@PaulR:最好让它成为
自动&
自动常量&
如果
X
常量
>。你有没有尝试过任何东西,如果是的话,发布代码。我确实尝试过一些员工。他们都没有成功,那么为什么要共享代码…我试图使用void*,但我无法让它工作…这就是重点!你应该共享你的代码(与
void*
),这样我们就可以告诉你哪里出了问题,最终你可以从中学习一些东西。