我們中的一些人知道C++對象C1和C2可能有several constructors。但是GCC來源說,有可能構造的第三變形,C3「完整的對象分配構造」(檢查gcc-4.8/gcc/cp/mangle.c
文件之前write_special_name_constructor
功能):爲什麼從未使用C3分配構造函數?
1645 /* Handle constructor productions of non-terminal <special-name>.
1646 CTOR is a constructor FUNCTION_DECL.
1647
1648 <special-name> ::= C1 # complete object constructor
1649 ::= C2 # base object constructor
1650 ::= C3 # complete object allocating constructor
1651
1652 Currently, allocating constructors are never used. <<<<<
1653
1654 We also need to provide mangled names for the maybe-in-charge
1655 constructor, so we treat it here too. mangle_decl_string will
1656 append *INTERNAL* to that, to make sure we never emit it. */
爲什麼可能需要的C3 ,但不被GCC使用? 是否有任何流行的C++編譯器,它會生成C3構造函數?
C3是否記錄在任何ABI pdf?
它在Itanium C++ ABI中提到:http://www.swag.uwaterloo.ca/acd/docs/ItaniumC++ABI.htm何時以及爲什麼(或爲什麼不)使用它 - 不知道: -/ –
NB官方的Itanium ABI網址是http://www.codesourcery.com/cxx-abi/ –