std::ios_base::xalloc
提供: cppreference.com
![]() | このページは、Google 翻訳を使って英語版から機械翻訳されました。 翻訳には誤りや奇妙な言い回しがあるかもしれません。文章の上にポインタをおくと、元の文章が見れます。誤りを修正して翻訳を改善する手助けをしてください。翻訳についての説明は、ここをクリックしてください。 |
staticint xalloc(); | ||
longとvoid*を呼び出すことによって、1
iword()
とプライベートストレージ内の1pword()
要素にアクセスするために使用できる一意の(プログラム全体)のインデックス値を返します。 xalloc
への呼び出しはメモリを割り当てません.Original:
Returns an unique (program-wide) index value that can be used to access one long and one void* elements in the private storage by calling
iword()
and pword()
. The call to xalloc
does not allocate memory.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
目次 |
[編集]パラメータ
(なし)
[編集]値を返します
pword / iwordインデックスとして使用するための一意の整数
Original:
unique integer for use as pword/iword index
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[編集]例
派生ストリームオブジェクトの実行時型識別のための基底クラスpwordストレージを使用.
Original:
Uses base class pword storage for runtime type identification of derived stream objects.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
このコードを実行します
#include <iostream> template<class charT, class traits =std::char_traits<charT>>class mystream :publicstd::basic_ostream<charT, traits>{public:staticconstint xindex; mystream(std::basic_ostream<charT, traits>& ostr):std::basic_ostream<charT, traits>(ostr.rdbuf()){ this->pword(xindex)= this;} void myfn(){*this <<"[special handling for mystream]";}}; // each specialization of mystream obtains a unique index from xalloc()template<class charT, class traits>constint mystream<charT, traits>::xindex= std::ios_base::xalloc(); // This I/O manipulator will be able to recognize ostreams that are mystreams// by looking up the pointer stored in pwordtemplate<class charT, class traits>std::basic_ostream<charT,traits>& mymanip(std::basic_ostream<charT,traits>& os){if(os.pword(mystream<charT,traits>::xindex)==&os)static_cast<mystream<charT,traits>&>(os).myfn();return os;} int main(){std::cout<<"cout, narrow-character test "<< mymanip <<'\n'; mystream<char> myout(std::cout); myout <<"myout, narrow-character test "<< mymanip <<'\n'; std::wcout<<"wcout, wide-character test "<< mymanip <<'\n'; mystream<wchar_t> mywout(std::wcout); mywout <<"mywout, wide-character test "<< mymanip <<'\n';}
出力:
cout, narrow-character test myout, narrow-character test [special handling for mystream] wcout, wide-character test mywout, wide-character test [special handling for mystream]
[編集]参照
プライベートストレージは、指定されたインデックスで、必要に応じてとvoid*要素へのアクセスサイズを変更します Original: resizes the private storage if necessary and access to the void* element at the given index The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数) | |
プライベートストレージは、指定されたインデックスで、必要に応じてとlong要素へのアクセスサイズを変更します Original: resizes the private storage if necessary and access to the long element at the given index The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (パブリックメンバ関数) |