德国TOPEX 7054-12-300

德国TOPEX 7054-12-300

参考价: 面议

具体成交价以合同协议为准
2024-06-02 09:52:00
515
产品属性
关闭
上海壹侨国际贸易有限公司

上海壹侨国际贸易有限公司

初级会员9
收藏

组合推荐相似产品

产品简介

上海壹侨贸易有限公司专业销售德国TOPXE标签打印机,TOPXE热敏打印机清洁笔,TOPXE引脚压纸滚轴,TOPXE压纸滚轴,TOPXE打印头等产品。德国TOPEX 7054-12-300

详细介绍

德国TOPEX 7054-12-300 德国TOPEX 7054-12-300

ACTARIS R133-5-72 DN25 PN5 减压阀

AVS-ROMER XGV-2000-000D12PP-04 腰鼓阀

BAUMER HEAG150-H-1H-2R-3T

BILZ ARTIKEL-NR.11-0017 BNRS70/0# + ARTIKEL-NR.19-0192 M20X250/2#

BONESI S1A/2 气阀

BONESI S1A/34 气阀

BONFIGLIOLI HL14112EH002 ,   NFF 14 112 EH B5 B5 电磁离合器

DEMAG 77330044 操作手柄

DEMAG 71881033 控制电缆

DIECKERS 7280650  DN 6,35 传感器

FHF BERGBAUTECHNIK FHF12363001AX

G.BEE STV200072230 AKP87E-1/2-DAE42N-GROB 球阀

GEMU 88246965  554 15D 137 52 0 截止阀

JVL MAC140-A1AAAA-A009 伺服电机

OPTEK DTF16  1426-3151-1001-01 光源灯

OPTEK 新的货号:  AF16,  1426-3131-0801-03

OPTEK AF16,  1426-3131-0801-03 光源灯

PILUCY PE-203 定量阀

PILZ 751110 继电器

PILZ 774100

PILZ 751107

PILZ 751105

PILZ 751104

PILZ 751111

REPACK-S CPR02-1000-P32-F 密封

REPACK-S CPR02-0800-P32-F 密封

REPACK-S CPR02-0700-P32-F 密封

REPACK-S CPR02-0900-P32-F 密封

REPACK-S HRX-065001-P905F 密封

REPACK-S CPR01-0650-P41-F 密封

RITTAL SK 3302100 空调

SCHLICK ITEM 44513, 970/7-1 S 75 VERSION 1.0, D 4.1051/1

SCHURTER 7010.3480 240个起订, 10个一包装

SPM SPM VMM-15 震动传感器

UMWELTSENSORTECHNIK VGT1-110172003 手持式气体检漏仪

定义自定义分配器的主要原因之一是提升性能。利用的自定义分配器可以提高程序的性能,又或提高内存使用效率,亦或两者兼而有之。默认分配器使用new操作符分配存储空间,而这常利用C语言堆分配函数(malloc())实现。由于堆分配函数常针对偶发的内存大量分配作优化,因此在为需要一次分配大量内存的容器(如矢量、双端队列)分配内存时,默认分配器一般效率良好。但是,对于映射表与双向链表这类需要频繁分配少量内存的容器来说,若采用默认分配器分配内存,则通常效率很低。除此之外,基于malloc()的默认分配器还存在许多问题,诸如较差的引用局部性,以及可能造成内存碎片化。

有鉴于此,在这一情况下,人们常使用基于内存池的分配器来解决频繁少量分配问题。与默认的"按需分配"方式不同,在使用基于内存池的分配器时,程序会预先为之分配大块内存(即"内存池"),而后在需要分配内存时,自定义分配器只需向请求方返回一个指向池内内存的指针即可;而在对象析构时,并不需实际解除分配内存,而是延迟到内存池的生命周期完结时才真正解除分配。

在"自定义分配器"这一话题上,已有诸多C++专家与相关作者参与探讨,例如斯科特·梅耶斯的作品《Effective STL》与安德烈·亚历山德雷斯库的《Modern C++ Design》都有提及。梅耶斯洞察到,若要求某一分配器的所有实例等效,则可移植的分配器必须不包含状态。虽然C++标准鼓励库的实现者支持带状态的分配器,但梅耶斯称,相关段落是"(看似)美妙的观点",但也几乎是空话,并称分配器的限制"过于严苛"。

另外,在《C++程序设计语言》中,比雅尼·斯特劳斯特鲁普则认为"'严格限制分配器,以免各对象信息不同',这点显然问题不大"(大意),并指出大部分分配器并不需要状态,甚至没有状态时性能反倒更佳。他提出了三个自定义分配器的用例:内存池型的分配器、共享内存型分配器与垃圾回收型分配器,并展示了一个分配器的实现,此间利用了一个内部内存池,以快速分配/解除分配少量内存。但他也提到,如此优化可能已经在他所提供的样例分配器中实现。

自定义分配器的另一用途是调试内存相关错误。若要做到这一点,可以编写一个分配器,令之在分配时分配额外的内存,并借此存放调试信息。这类分配器不仅可以保证内存由同类分配器分配/解除分配内存,还可在一定程度上保护程序免受缓存溢出之害。

折叠使用方法

当初始化标准容器时,若需使用自定分配器,则可将其写入模板参数,以代替默认的std::allocator<T>,如下所示:

namespace std { template <class T, class Allocator = allocator<T> > class vector;// ...

正如其他所有C++类模板般,在初始化同一标准库容器时,若使用了不同的分配器,则所生成容器的类型亦不同。譬如,若函数需一整型矢量数组std::vector<int>作为参数,则其只能接受由默认分配器生成的整型矢量数组。

折叠C++11

通过加入"作用域"分配器,C++11标准进一步强化了分配器接口,从而保证带有嵌套式内存分配特点的容器(如字符串矢量数组等)所分配到的内存皆来自容器自身的分配器。

另外,C++11标准删除了"给定类型的分配器在比较时总是相等"的模棱两可的要求,使带状态分配器不仅实用性得到提升,而且可管理进程外的共享内存。现今分配器的作用多为让程序员可以控制容器的内存分配,而非适应基底硬件的地址模型。事实上,C++11标准删去了分配器"自适应地址模型"的功能,结果抹消了其设计初衷。

上一篇:WESTLOCK 2649S-SPVECL-10 下一篇:SCHMALZ 10.02.02.03796
热线电话 在线询价
提示

请选择您要拨打的电话:

当前客户在线交流已关闭
请电话联系他 :