对象数组的类型双关与严格别名规则合规性问询
关于对象数组的严格别名规则与内存池实现疑问
已有大量关于严格别名规则和类型双关的文章,但缺少针对对象数组的易懂解释。我计划实现一个非模板内存池类,用于存储对象数组,仅在访问时知晓实际类型,可理解为「迭代器为模板的非模板vector」。
现将疑问整理如下:
- 提供的两段C++代码是否违反严格别名规则(是否存在未定义行为(UB))?若未违反,原因是什么?
- C标准中哪部分定义了严格别名规则?我使用C14,同时也关注新版本中的相关实现方式。
- 补充疑问:针对改进后的代码,GCC为何会发出关于默认构造函数内联的相关警告?
内容的提问来源于stack exchange,提问作者Oersted
相关产品推荐
相关产品推荐

