STL容器元素打印函数print_elems(方便调试)

Posted 欢乐的企鹅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STL容器元素打印函数print_elems(方便调试)相关的知识,希望对你有一定的参考价值。

#ifndef HELPER_INFO_H
#define HELPER_INFO_H

//辅助宏
#define __endline cout << endl;
#define __fname__ cout << endl << endl <<  "========= " << __PRETTY_FUNCTION__<< " ==========" << endl;

#include <iostream>
using std::cout;using std::endl;
template<typename ElemType>
struct PrintElem
    void operator()(const ElemType& elem)cout << elem << ' ';
;
//辅助函数 - 打印容器所有元素
template<typename Container>
void print_elems(const Container& c)
    typedef typename Container::value_type value_type;
    for_each(c.begin(), c.end(), PrintElem<value_type>());
    cout << endl;


#endif // HELPER_INFO_H

使用案例:

int main() 
    __fname__
    deque<int, allocator<int>> ideq(20, 9);
    cout << "size=" << ideq.size() << endl;
    print_elems(ideq);

    for (size_t i = 0; i < 3; ++i)
        ideq.push_back(i);

    print_elems(ideq);
    cout << "size=" << ideq.size() << endl;

    return EXIT_SUCCESS;

以上是关于STL容器元素打印函数print_elems(方便调试)的主要内容,如果未能解决你的问题,请参考以下文章

STL之容器函数

STL容器位运算常用库函数

STL体系结构基础介绍

仅通过迭代器删除 STL 容器元素

STL容器共性机制和使用场景

STL序列式容器之list