gpt4 book ai didi

c++ - 断言模板参数是迭代器/指针

转载 作者:行者123 更新时间:2023-11-28 06:09:00 26 4
gpt4 key购买 nike

我有一个接受指针的模板化函数。

template <typename T>
void foo(const T* bar){}

如何更改 foo 以确保向我传递的是迭代器/指针?我假设有一个 static_assert 或一个 enable_if 方法可以做到这一点,但我似乎找不到它。

最佳答案

您可以使用 std::iterator_traits 来检查它是否是一个迭代器(或指针)

template <typename IT>
decltype(std::iterator_traits<IT>::iterator_category{}, void())
foo(IT bar);

关于c++ - 断言模板参数是迭代器/指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31675399/

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