gpt4 book ai didi

c++ - 如何在类中初始化 vector ?

转载 作者:行者123 更新时间:2023-11-28 02:18:23 28 4
gpt4 key购买 nike

class Suduko
{
private:
vector<vector<string>> board;
public:
Suduko() : board(9, vector<string>(9, ".")) {}
}

这是唯一的方法吗?

我已经尝试在用 vector<vector<string>> board(9, vector<string>(9, ".")); 定义板的地方初始化它但这不起作用。

我也试过:

Suduko()
{
board(9, vector<string>(9, "."));
}

Suduko()
{
board = board(9, vector<string>(9, "."));
}

在构造函数内部,那些也不起作用。那么我是否仅限于按照我在第一个示例中所做的方式初始化 vector (确实有效)?或者还有其他方法吗?

最佳答案

这里列出了一些初始化vector的方法

class Suduko
{
private:
std::vector<std::vector<std::string>> board { 9, std::vector<std::string>( 9, "." ) };
//.....
};

class Suduko
{
private:
std::vector<std::vector<std::string>> board =
std::vector<std::vector<std::string>>( 9, std::vector<std::string>( 9, "." ) );
//.....
};

class Suduko
{
private:
std::vector<std::vector<std::string>> board;
public:
Suduko() : board( 9, std::vector<std::string> (9, "." ) )
{
}
};

class Suduko
{
private:
std::vector<std::vector<std::string>> board;
public:
Suduko() : board{ 9, std::vector<std::string> (9, "." ) }
{
}
};

class Suduko
{
private:
std::vector<std::vector<std::string>> board;
public:
Suduko()
{
board.assign( 9, std::vector<std::string> (9, "." ) );
}
};

关于c++ - 如何在类中初始化 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33335429/

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