`
ouyida3
  • 浏览: 49842 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

再论c++的map使用

    博客分类:
  • c++
 
阅读更多

 

前天Rao问我有一段代码运行时卡住了,不知道哪里有问题,我一看代码:

 

m_MPpsDiscntAction.clear();

string sql = "SELECT a.action_code,a.stat_type,a.action_type FROM table_name a where a.stat_type = 1  and  a.action_type in(205,300,301)";

JTable* pTab = jdb::getConnect()->getJTable();

pTab->Clear();

pTab->AddSql(sql);

pTab->ExecSelect();

while(pTab->Fetch())

{

       m_MPpsDiscntAction.insert(pair<int,int>(pTab->GetInt("ACTION_CODE"),1));

}

 

 

 

非常短。因为现象是卡住,我首先怀疑sql运行过慢,他说在plsql运行过了,很快。

而下面的JTable操作都是公司框架的,不会有问题,于是我马上怀疑map的insert有问题。

首先怀疑的就是pair的使用。

果然,换成make_pair<int,int>就OK了。

 

make_pair和pair其实作用类似,make_pair函数是转换为pair对象,而pair是强制的类型转换。

相对来说,一般更推荐用make_pair。

pair在linux在测试过没问题,在aix上一商用,果然就出问题了。

 

分享到:
评论

相关推荐

    C++论文人事管理系统

    总的来说,这篇《C++论文人事管理系统》可能会详细讲解如何使用C++实现这样一个系统,包括从需求分析、设计、编码到测试的每一个步骤,对于学习C++编程和系统开发的读者来说,是一份非常有价值的学习资料。

    论文 基于c++模板库的全文检索算法

    C++模板库的容器如map或unordered_map可以用于存储词项到其出现位置的映射。 2. **查询处理**:用户输入的查询会被分词,然后与索引进行匹配。C++模板库的算法,如find_if或binary_search,可以用来快速查找匹配的...

    信息论Shannon 编码算法C++

    C++中可以使用`std::map`或`std::unordered_map`存储符号与其出现次数的对应关系。 2. **构建Huffman树**:Shannon编码实际是Huffman编码的一种特殊情况,因此我们通常先构建Huffman树。Huffman树是一种带权路径...

    C++数据结构等价类实现

    在C++中实现等价类,我们通常会使用模板类或继承来创建能够表示这些关系的结构。 首先,我们需要理解C语言中的基本数据结构。C语言提供了几种基础的数据结构,如数组、链表、栈、队列、树和图等。这些结构可以帮助...

    c++11FAQ中文版

    在这个部分中,我们可以了解到C++11成为正式标准的时间、C++11标准库文件的使用时间、C++11提供的新语言特性和标准库特性、以及C++11努力达到的目标。 接着,文档介绍了标准委员会的设计目标和工作方式,包括标准...

    C++图书管理系统代码及论文

    同时,C++的STL(标准模板库)也可能被用于数据结构和算法的实现,比如用vector存储图书信息,用map或set实现快速查找等功能。 图书管理系统的核心功能通常包括图书的添加、删除、查询、借阅、归还等操作。在C++...

    家庭财务管理系统 代码 C++ 论文在上个资源

    同时,利用STL(Standard Template Library)中的容器,如`vector`、`map`等,来存储和操作数据。对于数据库操作,可以使用SQL库如SQLite,或者直接用文件存储数据。 开发过程中,还需考虑用户界面的设计,可以使用...

    用C++完成数据结构课程设计论文

    此外,C++的STL(Standard Template Library,标准模板库)提供了现成的数据结构,如vector、list、deque、set、map等,它们内部已经实现了高效的算法,可以直接使用,大大简化了编程工作。例如,`std::queue`和`std...

    C++技能百练各种有趣的C++程序

    你需要了解如何使用C++的随机数生成器(如`&lt;random&gt;`库),并可能结合条件语句和循环来模拟掷骰结果。 5. **智者生存**:可能是一个基于决策和逻辑的游戏,要求编写智能算法来解决问题。这可能涉及到递归、搜索算法...

    21天学通Visual+C++

    4. 标准模板库(STL):STL为C++提供了大量的预制数据结构和算法,如vector、list、map等容器以及排序、搜索等函数,极大地丰富了C++的功能。 5. 内存管理:C++允许开发者进行底层内存操作,包括动态内存分配和释放...

    霍夫曼编码C++实现

    C++中可以使用`std::map`或`std::unordered_map`来存储每个字符及其出现次数。 ```cpp std::map, int&gt; char_frequency; // 对输入文本进行遍历,统计每个字符的出现频率 ``` 2. 霍夫曼树构建:基于频率统计结果,...

    图书管理系统c++ 方便用户使用

    在查询功能上,C++的STL(Standard Template Library)中的容器(如vector、list、set或map)可以帮助我们有效地存储和检索图书数据。例如,使用map可以快速根据书名或ISBN进行查找,而set可以用来确保图书编号的...

    数据结构 文章编辑(c++)

    9. **容器和迭代器**:C++标准库提供的容器(如vector、list、deque、set、map等)和迭代器是操作数据结构的关键工具,它们简化了对数据的操作和遍历。 10. **模板和泛型编程**:C++的模板机制允许我们编写通用的...

    C/C++编写的校园导航系统

    【C/C++编写的校园导航系统】是一种使用C或C++编程语言开发的应用程序,它旨在为学生和教职员工提供方便的校园内部导航服务。这个系统可能包含了地图显示、路线规划、地点搜索等功能,旨在优化校园内的移动体验。...

    C++标准(Standard for Programming Language C++)

    C++作为一种广泛使用的编程语言,其标准定义了语言的特性和库的功能,确保不同实现之间的一致性与兼容性。本文档提供了C++标准的概述,尤其针对高级用户和开发者深入探讨了语言的关键组成部分。这份文档并不是为C或...

    C++高效编程,讲述C++编程技巧

    3. **STL(Standard Template Library)**:C++的STL包括容器(如vector、list、map等)、算法(如排序、查找、迭代)和迭代器,它们提供了高效的编程接口,极大地提高了开发效率。 4. **内存管理**:了解动态内存...

    POJ100题_C++_源码

    1. T076.cpp - 可能涉及动态规划或贪心算法,这类问题通常需要找到最优解或者次优解,C++中的数据结构如vector和map在此类问题中常被用到。 2. T074.cpp - 可能是涉及图论的题目,比如最短路径问题,可能用到了...

Global site tag (gtag.js) - Google Analytics