list对象作为类的私有成员时分配内存
来源:互联网 发布:淘宝换货可要申请退款 编辑:程序博客网 时间:2024/05/09 05:54
今天在做国外题目时,碰到了一个问题,就是LVList类的私有成员中包含list对象,如果直接声明对象,不分配内存的话,后面对其访问就会报错。
最开始时,我是这样声明的:
template<typename K,typename V,int N>class KVList{public:KVList();size_t size() const; //return number of key-valueconst K& key(int i) const; //return unmodifiable reference to the keyconst V& value(int i) const; //return modifiable reference to the valueKVList &add(const K&,const V&); //add a new element to the listint find(const K& k) const; //return the indexKVList &replace(int i,const K&k,const V&v); //replaceprivate:list<pair<K,V>> myList;size_t num;};
然后我再想对其初始化时,一直报错:
template<typename K,typename V,int N>KVList<K,V,N>::KVList():myList(new list<pair<K,V>>(N)){num=0;}
以前也碰到类似的问题,是vector,一直没解决,今天查了好多资料,终于搞定了,只需将list对象声明为指针形式就可以了:
template<typename K,typename V,int N>class KVList{public:KVList();size_t size() const; //return number of key-valueconst K& key(int i) const; //return unmodifiable reference to the keyconst V& value(int i) const; //return modifiable reference to the valueKVList &add(const K&,const V&); //add a new element to the listint find(const K& k) const; //return the indexKVList &replace(int i,const K&k,const V&v); //replaceprivate:list<pair<K,V>> *myList;size_t num;};
0 0
- list对象作为类的私有成员时分配内存
- 对象作为类成员
- 类对象作为成员
- 访问C++类对象中私有成员变量的方法
- 访问对象私有成员方式的比较
- 对象私有成员的使用条件
- 一个类的对象作为另一个类的成员
- C++ 一个类的对象作为另一个类的成员
- 组成:对象作为类的成员 应注意的问题
- 保持对象成员私有
- 如何使用带参数的对象作为类成员
- C++读书笔记——组成:对象作为类的成员
- C++对象数组作为类成员的问题
- C++大学基础教程 _10_3_组成:对象作为类的成员
- 当类对象作为成员看初始化列表的意义
- Python类的私有成员
- 访问类的私有成员
- 访问类的私有成员
- C++ 动态库&静态库创建和使用
- java设计模式系列--职责链模式
- proftpd+mysql5.6实现虚拟用户管理
- 静态变量一定要先声明后赋值
- CodeIgniter安装和入门使用(一)
- list对象作为类的私有成员时分配内存
- 市场调研报告——关于团委抢票系统
- 兼容https和http协议的java代理服务器代码
- js
- 流程控制语句(条件语句)
- 51nod 1092 回文字符串 (LCS_DP)
- MFC编辑框字体
- Leetcode || Median of Two Sorted Arrays
- 学习清单