gpt4 book ai didi

c++ - 在不同的类上调用不同的成员函数

转载 作者:行者123 更新时间:2023-11-28 00:39:23 34 4
gpt4 key购买 nike

我正在尝试编写一个模板函数来将一个元素插入到容器中,这样它将使用 push_back()insert()取决于哪个可用。

[编辑:]它也应该适用于定义 insert() 的其他(内部)类容器类型成员函数。

我一直在调查 <type_traits>但到目前为止还没有想出一个不笨重的实现。

注意:编译器是 VS2012,因此并非所有 C++11 功能都可用。

最佳答案

我建议你使用

v.insert( v.end(), e );

两者都可以。它等同于序列容器的 push_back,只是将值插入任何关联容器。如果 MyContainer 不支持它,您应该扩展它。以上是将元素插入/推回所有标准库容器的最便携方式。


前段时间我也问了一个关于如何正确检测容器类型的成员函数的问题,我得到了一个很好的答案,您可以将其改编为 push_backinsert。你可以阅读它here .我在这里没有真正建议的原因是不需要它(鉴于上述情况)并且我不确定 VS2012 是否会编译它。

关于c++ - 在不同的类上调用不同的成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19594845/

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