c – 为什么basic_stringbuf和basic_filebuf移动构造函数具有实
从我的C标准副本[§27.8.2.1p4]:
类似的句子也用于basic_filebuf(basic_filebuf&& rhs);. 题 我想知道为什么这是实现定义?您是否有理由不想复制指针? 解决方法
有两种明显的实现技术可以处理标准流缓冲区中的缓冲区:
>您可以将缓冲区嵌入到对象中,为对象创建更大的占用空间,但避免为小字符串或文件分配内存. 根据缓冲区所在位置的实现选择,您需要一组新的指针值,或者您希望按原样继承指针.这两种策略都不是“更好”,我可以想象结合策略的变化.因此,而不是做出选择实现可以选择.如果你的问题是为什么实施应该[忘记]记录它做出的选择:这显然超出了我.我个人的猜测是,假设“实施定义”阶段将提供选择的自由,并且忽略了影响是实施需要陈述其选择(因为有关于引用的辩论:1.3.10) [defns.impl.defined] – 奇怪的是没有段落编号). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |