gpt4 book ai didi

C++ 传递 typedef

转载 作者:行者123 更新时间:2023-11-30 01:42:47 30 4
gpt4 key购买 nike

我想知道如何将 typedef 传递给函数。例如:

    typedef int box[3][3];
box empty, *board[3][3];

我如何将 board 传递给函数?我还可以在函数参数内部使用 decltype() 吗?

最佳答案

你会这样做:

using box = std::array<std::array<int, 3>, 3>;

然后:

void fn(box const& x)
void fn(box& x)
void fn(box&& x)

或者你需要的任何东西。

是的,您可以在函数中使用 decltype

作为一个实际的例子,您可以定义一个打印盒子内容的函数:

using box = std::array<std::array<int, 3>, 3>;

void fn(box const& arr) {
for (auto const& x : arr) {
for (auto i : x) {
std::cout << i << ' ';
}
std::cout << '\n';
}
}

然后调用它:

int main() {
box x {{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
}};
fn(x);
}

Live demo

关于C++ 传递 typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38921293/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com