问题标签 [explicit-destructor-call]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
110 浏览

c++ - 调用C++对象析构函数的各种方式

可以使用析构函数调用语法显式破坏 C++ 对象(对于伪破坏的非类类型)。但看起来除了普遍接受的语法外,几乎所有现代编译器都支持自己的调用析构函数的方式:

除了x.~T()适用于所有编译器的 ,还有至少 3 个其他选项,演示:https ://gcc.godbolt.org/z/895bd9T5c

根据标准,选项#1、#2 或#3 中的任何一个是否合法,或者它们都只是相应编译器的扩展/错误?