首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

高分求 BCB中的字典类有那几个?该如何处理

2012-03-28 
高分求 BCB中的字典类有那几个?我用这个Generics_collections::TDictionary__2编译时出错#include Generi

高分求 BCB中的字典类有那几个?
我用这个Generics_collections::TDictionary__2编译时出错

#include <Generics.collections.hpp>
Generics_collections::TDictionary__2<String,String> dir;
直接是他的文件出错!

大家知道有好的最好有例子

[解决办法]
BCB中有map可以通过key查找对象。
[解决办法]
Generics.collections大概是2010中新增的特性,在Delphi中使用TDictionary一切正常,但是生成的Generics.collections.hpp头文件中,TDictionary变成了TDictionary__2并导致链接时找不到TDictionary__2类的实现部分。怀疑这个TDictionary类是EMB的工程师专门给Delphi写的。在C++Builder中使用真的是太痛苦了。 查阅EMB的官方文档,一如既往的恶心。我以前就说过Borland/CodeGear/Embarcadero的通病:帮助文档简单并且没有参考价值。怎么说呢,打个比方,有个组件A的属性B,我们不清楚是做什么用的,查一下帮助吧,帮助里说:
B是A的一个属性。
OK了。就这么一句,一句正确的废话。

正常情况下,这个类应该这样用:

C/C++ code
#include <Generics.collections.hpp>void __fastcall TForm1::Button1Click(TObject *Sender){    TDictionary__2 <String, String> *pDir = new TDictionary__2 <String, String>(0);    // 添加键和值    pDir->Add("aaa", "111");    pDir->Add("bbb", "222");    pDir->Add("ccc", "333");    pDir->Add("ddd", "444");    // 判断是否存在某个键    bool b1 = pDir->ContainsKey("aaa");    ShowMessage(String().sprintf(TEXT("字典中%s存在键aaa"), b1? TEXT(""): TEXT("不")));    // 判断是否存在某个值    bool b2 = pDir->ContainsValue("111");    ShowMessage(String().sprintf(TEXT("字典中%s存在值111"), b2? TEXT(""): TEXT("不")));    // 尝试获取某个值    String str;    bool b3 = pDir->TryGetValue("ccc", str);    ShowMessage(String().sprintf(TEXT("%s"), b3? str.c_str(): TEXT("获取值失败")));    delete pDir;}
[解决办法]
补充一下,如果是一个字符串匹配一个整形值的字典,可以用TStringHash类,很方便。
[解决办法]
不知道这个 Generics.collections::TDictionary 的功效。
但使用C++的 hash_map 应该也不差。不是非要使用delphi的类吧。
倒是希望哪个测试一下,对比一下内存占用及速度。
[解决办法]
又向妖哥学到不少
[解决办法]
探讨
他都通不过了!
他还写那么长的代码...

有病呀
呵呵
会不会是BCB 2010的BUG

[解决办法]
不知道什么时候才能稳定。
[解决办法]
hash_map基于hash table(哈希表)
用hash_map吧
哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是消耗比较多的内存。然而在当前可利用内存越来越多的情况下,用空间换时间的做法是值得的。
[解决办法]

[解决办法]
http://www.google.com.hk/search?hl=zh-CN&safe=strict&q=%E5%93%88%E5%B8%8C%E8%A1%A8%E6%9C%80%E5%A4%A7%E7%9A%84%E4%BC%98%E7%82%B9&btnG=Google+%E6%90%9C%E7%B4%A2&aq=f&aqi=&aql=&oq=&gs_rfai=

热点排行