这似乎是一个简单的请求,但谷歌不是我的朋友,因为"分区"在数据库和文件系统空间中得分很多.
我需要将N个值(N是常数)的数组的所有分区枚举成k个子数组.子数组就是 - 起始索引和结束索引.将保留原始数组的整体顺序.
例如,N = 4且k = 2:
[ | a b c d ] (0, 4)
[ a | b c d ] (1, 3)
[ a b | c d ] (2, 2)
[ a b c | d ] (3, 1)
[ a b c d | ] (4, 0)
Run Code Online (Sandbox Code Playgroud)
并且k = 3:
[ | | a b c d ] (0, 0, 4)
[ | a | b c d ] (0, 1, 3)
: …Run Code Online (Sandbox Code Playgroud) 使用c ++ 11:
我想声明一个类型,它是减去两个模板参数类型值的结果.
如何在我的模板中对此进行编码?
例:
template<typename T>
class C {
typedef T member_t;
typedef TYPE_OF_RESULT_OF( T - T ) member_diff_t;
};
Run Code Online (Sandbox Code Playgroud)
上面的"TYPE_OF_RESULT_OF(T-T)"的替代是什么?
我期望从任何算术类型计算带符号的差异.所以我想我可以使用as_signed(T).但是,如果有意义的话,问问编译器似乎更正确.