【问题标题】:to receive either a deque or vector as a common parameter in a c++ function接收双端队列或向量作为 C++ 函数中的公共参数
【发布时间】:2017-04-22 08:17:22
【问题描述】:

如何编写一个接收双端队列或向量的打印函数并将内容打印到控制台?

void print(generalparameter for deque and vector){
   // print the content of the received deque/ vector.
}

【问题讨论】:

    标签: c++ vector stl queue deque


    【解决方案1】:

    你可以写一个通用的函数模板:

    template <typename Container>
    void print(Container const& c) {
        for (auto const& elem : c) {
            std::cout << elem << ' ';
        }
        std::cout << '\n';
    }
    

    PS 如果您真的想将其限制为 only vectordeque 您可以在函数体内使用 static_assert 之类的东西,但我'我不确定这种限制是否真的有意义。

    【讨论】:

      【解决方案2】:

      你可以使用模板函数:

      template<typename T>
      void print(const T& container){
         for(auto item : container) {
             std::cout << item << ' ';
         }
         std::cout << std::endl;
      }
      

      【讨论】:

        猜你喜欢
        • 2013-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-29
        • 2015-05-01
        • 2020-01-12
        • 2013-09-27
        • 1970-01-01
        相关资源
        最近更新 更多