c++中的字符串连接

string concatenation in c++

本文关键字:连接 字符串 c++      更新时间:2023-10-16

以前,我使用append函数来连接字符串。但是,由于这样做需要多行不必要的代码,所以我想尝试使用"+"操作符。不幸的是,它并不顺利…

bool Grid::is_available(int x, int y) const
{
    if (x < 0 || x >= dim[1] || y < 0 || y >= dim[0])
        throw std::invalid_argument("is_available(" + x + ", " + y + "): Invalid coordinate input.");
    return occupancy[x][y] == AVAILABLE;
}

我得到的错误是"'+':不能添加两个指针",代码为C2110。这个问题的所有解决方案都是在每一行上连接一个。实际上没有办法将c++中的多个字符串连接在一行中吗?

您可以使用std::to_string()来转换您的整数:

bool Grid::is_available(int x, int y) const
{
    if (x < 0 || x >= dim[1] || y < 0 || y >= dim[0])
        throw std::invalid_argument(
            "is_available(" + std::to_string(x) + ", "
                + std::to_string(y) + "): Invalid coordinate input.");
    return occupancy[x][y] == AVAILABLE;
}