list对象指针与指针类型list
Posted peki10
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了list对象指针与指针类型list相关的知识,希望对你有一定的参考价值。
1 #include <string> 2 #include <cctype> 3 #include <algorithm> 4 #include <iostream> 5 #include <list> 6 using namespace std; 7 class Base{ 8 public: 9 int data; 10 Base(int y):data(y){} 11 }; 12 Base *pt(int x){ 13 Base *tmp = new Base(x); 14 return tmp; 15 } 16 int main() 17 { 18 19 string str("ceshi andx 123 benjing"); 20 int x = 0; 21 char first[6] = {0}; 22 char last[16] = {0}; 23 char mid[16] = {0}; 24 int ret = sscanf(str.c_str(), "%s%s%d%s", first, mid, &x, last); 25 cout << ret << " first:" << first << " mid:" << mid << " x:" << x << " last:" << last << endl; 26 27 //int指针类型的list 28 list<int *> intptr; 29 int *tmp = new int[5]; 30 for(int i=0; i<5; i++){ 31 tmp[i] = i; 32 intptr.push_back(&tmp[i]); 33 } 34 list<int *>::iterator liter; 35 for(liter = intptr.begin(); liter != intptr.end(); ++liter) 36 cout << **liter << endl; 37 for (std::list<int*>::iterator it = intptr.begin(); it != intptr.end();it++) 38 { 39 //delete ⁢ //error 40 } 41 delete[] tmp; 42 43 //以下list对象指针均建立在堆上,需要new/delete结合申请与释放 44 //list元素为基本数据类型的对象指针 45 list<int> *ptr = new list<int>[2]; 46 ptr->push_back(2); 47 ptr->push_back(3); 48 list<int>::iterator iter; 49 for(iter = ptr->begin(); iter != ptr->end(); ++iter) 50 cout << *iter << endl; 51 delete[] ptr; 52 //list元素为自定义类型的对象指针 53 list<Base> *pBase = new list<Base>[5]; 54 Base ba(4); 55 Base bb(5); 56 pBase->push_back(ba); 57 pBase->push_back(bb); 58 list<Base>::iterator iterb; 59 for(iterb = pBase->begin(); iterb != pBase->end(); ++iterb) 60 cout << (*iterb).data << endl; 61 delete[] pBase; 62 63 }
以上是关于list对象指针与指针类型list的主要内容,如果未能解决你的问题,请参考以下文章
使用的类型 va_list (aka_builtin_va_list) 在 BWDB.m 文件中需要算术或指针类型
指向std :: vector和std :: list元素的指针
下列代码的功能是利用散列函数hash将一个元素插入到散列表ht[]中。其中list类型的结点包含element类型的项item以及一个next指针。如果插入成功,则函数返回1,否则返回0。