2 nightwishbaby nightwishbaby 于 2015.06.08 17:00 提问

qmap可以定义为全局变量吗

头文件
QMap pool;
QMap::iterator p;
原文件
pool.insert(i,IP);
如果定义为全局变量这个怎么改,还有我的qmap pool的插入数据在一个函数里,遍历
在另一个函数里,主要的想法是pool在程序运行的时候一直存在,直到程序结束,谢谢各位大神,小弟我没钱了,只有30C币了

4个回答

oyljerry
oyljerry   Ds   Rxr 2015.06.08 18:15
已采纳

全局变量可以直接访问,但是你需要做好读写锁,防止写入的时候,同时有读

nightwishbaby
nightwishbaby 谢谢你的提醒
大约 3 年之前 回复
caozhy
caozhy   Ds   Rxr 2015.06.08 17:08

就你这么写就可以,在别的文件中用extern QMap pool;

你的这段代码如果在头文件中,最好这么写

 #ifndef __QMAP_POOL
#define __QMAP_POOL
QMap pool;
QMap::iterator p;
#endif
nightwishbaby
nightwishbaby 解决啦,谢谢你
大约 3 年之前 回复
nightwishbaby
nightwishbaby static QMap<int,Qstring>pool QMap<int,Qstring>iterator p 定义的是私有变量,可是我在函数中执行插入操作是却总是出现错误,pool只在这个文件中调用,不是私有的问题
大约 3 年之前 回复
nightwishbaby
nightwishbaby QMap<int,string>pool
大约 3 年之前 回复
nightwishbaby
nightwishbaby QMap<int,string>pool
大约 3 年之前 回复
songhtao
songhtao   Rxr 2015.06.09 12:29

如果定义为全局变量这个怎么改,直接写在文件开头,预处理语句后就行了。

sxjiangdongqin
sxjiangdongqin   2015.06.09 22:03

全局变量可以直接访问,但是你需要做好读写锁,防止写入的时候,同时有读

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Qt:QHash和QMap区别
QMap提供了一个从类项为key的键到类项为T的直的映射,通常所存储的数据类型是一个键对应一个值,并且按照Key的次序存储数据。同时这个类也支持一键多值的情况,用类QMultiMap可以实现。 QHash具有和QMap几乎完全一样的APi,此类维护这一张哈希表,表的大小和数据项是自适应的,QHash是以任意的顺序住址他的数据,当然了他也是可以支持一键多值的,用类QMultiHash可以实现。
C++静态成员的初始化,特别是QMap
写一个静态成员类,当作全局变量用,结果QMap类型的怎么搞都不行,最后终于弄明白了,写的这里备忘:Util.h内容#ifndef UTIL_H_#define UTIL_H_#include #include #include #include #include class Util: public QObject {Q_OBJECTpublic: Util(); virtual ~U
QMap主键是自定义类型
huangwenshen huangwenshen 本版等级: #1 得分:40回复于: 2012-10-26 11:37:46 重载小于符号就可以了。 C/C++ code ? 1 2 3 4 5 6 7 8 9 10 11 12 13
QMap与QHash
<br /> 关联容器可以保存任意多个具有相同类型的项,且它们由一个键索引。Qt提供两个主要的关联容器类:QMap<K, T>和QHash<K, T>。<br />     QMap<K, T>是一个以升序键顺序存储键值对的数据结构。这种排列使它可以提供良好的查找插入性能及键序的迭代。在内部,QMap<K, T>是作为一个跳越列表(skip-list)来实现执行的。<br />     在映射中插入项的一种简单方式是调用insert():<br />QMap<QString, int> map;<br />
QMap
QMap QMap是Qt容器类型的一种,它通过(Key, value)存储一对值,并通过Key可以查找与之关联的value的值。 QMap和QHash是很相似的,不同的地方是: - QHash的查找速度比QMap要快很多。 - 在对QHash进行迭代时,这些项是任意排序的。在QMap中,项总是按键排序。 - QHash的关键类型必须提供运算符==()和全局QHash(key)函数。QMa
Qt QMap介绍与使用
Qt中的QMap介绍与使用,在坛子里逛了一圈,发现在使用QMap中,出现过很多的问题,Map是一个很有用的数据结构。它以“键-值”的形式保存数据。在使用的时候,通过提供字符标示(键)即可得到想要的数据。这个“数据”即可以是一个字符串,也可以是任意对象,当然也包括自己定义的类对象。说明:map是以值传递的形式保存数据的。 1. 基本应用 下面以“键-值”都是QString的例子说明Q
QHash 和QMap的区别
本文介绍的是Qt QHash 和QMap的区别,关于容器类可以查阅更多的资料,首先我们先把QHash 和QMap区分开来。内容如下。 QMap提供了一个从类项为key的键到类项为T的直的映射,通常所存储的数据类型是一个键对应一个直,并且按照Key的次序存储数据,这个类也支持一键多值的情况,用类QMultiMap QHash具有和QMap几乎完全一样的APi,此类维护这一张哈希表,表的大小和数
转QMap的使用
在程序中,Map是一个很有用的数据结构。它以“键-值”的形式保存数据。在使用的时候,通过提供字符标示(键)即可得到想要的数据。 这个“数据”即可以是一个字符串,也可以是任意对象,当然也包括自己定义的类对象。 说明:map是以值传递的形式保存数据的。 1. 基本应用 下面以“键-值”都是QString的例子说明QMap的基本使用方法。更详细的说明,请查看《Qt帮助手册
QMap的使用
1. 基本应用下面以“键-值”都是QString的例子说明QMap的基本使用方法。#include #include using namespace std;class MapTest{public:    void showMap()    {if(!m_map.isEmpty()) return; //判断map是否为空m_map.insert(“111″, “aaa”); //向
QMap 的增删改查
QMap 的增删改查, 程序简单,就直接上代码了,附上运行结果。 #include void showmap(QString str); QMap map; int main(int argc, char *argv[]) { (void) argc; (void)argv; QMap::iterator it; //增加 map.insert(1, 100); map.inse