shared_ptr使用,构建list
来源:互联网 发布:asp net入门 vb 编辑:程序博客网 时间:2024/06/08 06:09
节点类:
/**link list node**/#ifndef NODE__H__#define NODE__H__#include <memory>template<typename T>class node{public:T val;std::shared_ptr<node> next;public:node(){next.reset();}explicit node(const T& t){val=t;next.reset();}};#endif
list类:
#ifndef list_h__#define list_h__#include "node.h"#include <memory>template<typename T>class list{public:list(){head.reset();tail.reset();node_null.reset();}void push_back(const T& val){if(head==node_null){head=std::shared_ptr<node<T> >(new node<T>(val));tail=head;}else{tail->next=std::shared_ptr<node<T> >(new node<T>(val));tail=tail->next;}}T front(){return *head;}T back(){return *tail;}std::shared_ptr<node<T> >begin(){return head;}private:std::shared_ptr<node<T> > head;std::shared_ptr<node<T> > tail;public:std::shared_ptr<node<T> > node_null;};#endif
测试:
#include "list.h"#include "node.h"#include <iostream>int main(int argc,char* argv[]){list<int> l;l.push_back(23);l.push_back(2);auto t=l.begin();while(t!=l.node_null){std::cout<<t->val<<std::endl;t=t->next;}system("PAUSE");return 0;}
- shared_ptr使用,构建list
- shared_ptr使用
- shared_ptr使用
- 使用 shared_ptr
- 智能指针tr1::shared_ptr、boost::shared_ptr使用
- 小测试:boost之shared_ptr在容器类std::list中的使用
- shared_ptr的使用心得
- shared_ptr使用注意事项
- boost::shared_ptr使用技巧
- 使用shared_ptr实例
- 使用 shared_ptr 的一個問題代碼
- boost shared_ptr 使用注意点。
- C++ std::tr1::shared_ptr使用
- shared_ptr 的使用及注意事项
- Boost:使用shared_array和shared_ptr
- linux使用shared_ptr出现错误
- shared_ptr(共享指针)使用总结
- 智能指针shared_ptr使用学习
- Android system 分区讲解
- Python常用函数
- ※数据结构※→☆线性表结构(queue)☆============优先队列 顺序存储结构(queue priority sequence)(十一)
- MySql连接数据库简单示例
- Tomcat内存的增减
- shared_ptr使用,构建list
- ScrollView中嵌套ListView和GridView统一解决方案
- 索引3
- Oracle数据库top10物理段
- apktool
- Python列表和元组
- js取当前对象的父对象的同级元素的值
- grails 210-项目实战G
- 内核学习之二: Linux内存机制探秘