【发布时间】:2017-02-12 17:33:12
【问题描述】:
我在 C++ 中很少使用 std::tuple,我有以下元组:
std::tuple<int, int> range {0, 100};
这是我的 mysql 查询的范围:
prestmt_ = con_ -> prepareStatement("SELECT example_value FROM example_table WHERE example_column = '0' LIMIT ?, ?");
prestmt_ -> setInt(1, std::get<0>(range));
prestmt_ -> setInt(2, std::get<1>(range));
我用元组结构来说明两个整数在函数的操作中是耦合在一起的。
我需要在每次查询后递增两个元组整数:
range = std::tuple<int, int>(std::get<0>(range) + 100, std::get<0>(range) + 100);
这个重新分配看起来很糟糕,可读性也不是很好。有没有更好的方法来编辑这些元组值?
【问题讨论】:
-
临时变量怎么样?
-
我不认为 MySQL 查询与实际问题有任何关系,或者是吗?
-
它也提供了上下文以及为什么我使用 std::tuple,而不是两个整数。
-
像
prestmt__这样的变量名是为实现而保留的;你不应该在你的代码中创建这样的名字。 -
@NeilButterworth 尾随
__可以吗?不只是__prestmt会导致未定义的行为吗?