我需要实现自包含的编译时函数来检查类型相等(没有参数的函数模板bool eqTypes<T,S>()).
自包含意味着不依赖于图书馆.
我对这一切并不擅长.这就是我尝试过的,但这不是我需要的.
template<typename T>
bool eq_types(T const&, T const&) {
return true;
}
template<typename T, typename U>
bool eq_types(T const&, U const&) {
return false;
}
Run Code Online (Sandbox Code Playgroud) 伙计们!我试图理解迭代器的工作,所以在下面的代码中,是否可以在不改变底层数据(结构)的情况下将back_inserter更改为front_inserter.请你解释一下原因.如果可以改变,请考虑其关键想法.
int a1[] = { 0, 1, 2, 3, 4, 5, 6 };
int a2[] = { 1, 4, 5 };
std::vector<int> a3;
int a4[] = { 0, 2, 3, 6 };
std::set_difference(a1, a1 + 7, a2, a2 + 3, std::back_inserter(a3));
assert(std::equal(a3.begin(), a3.end(), a4));
Run Code Online (Sandbox Code Playgroud)
谢谢你们!