N4028 Defining a Portable C++ ABI
C++で汎用的なABI(Application Binary Interface)を定義できるようにする提案。提案者は、MicrosoftのHerb Sutter。
いま考えられているのは、extern "C"
に加えてextern "abi"
を追加し、その中にC++として公開するインタフェースを定義するというもの。
extern “abi” { template <class T> // テンプレートを使える class gadget { ... }; // クラスを使える class widget { public: virtual int add( gadget<int>& ); // 仮想関数を使える … }; bool overload( widget& ); // オーバーロードもできる bool overload( int, gadget<float>*& ); }
この提案の目標としては、以下のようなものが考えられています: