次の方法で共有


1 個の引数を持つ出力ストリームのマニピュレーター (int または長)

iostream クラス ライブラリはパラメーター化されたマニピュレーターを作成する一連のマクロが用意されています。long の一つの int または引数を持つマニピュレーターは特殊なケースです。一つの int を受け入れるかlong 引数の出力ストリームのマニピュレーターを作成するには (setw と同様に定義されている _Smanip マクロを使用 <iomanip> する必要があります。この例ではストリームに指定した数の空白を挿入 fillblank のマニピュレーターを定義したものです :

使用例

// output_stream_manip.cpp
// compile with: /GR /EHsc
#include <iostream>
#include <iomanip>
using namespace std;

void fb( ios_base& os, int l )
{
   ostream *pos = dynamic_cast<ostream*>(&os);
   if (pos)
   {
      for( int i=0; i < l; i++ )
      (*pos) << ' ';
   };
}

_Smanip<int>
   __cdecl fillblank(int no)
   {   
   return (_Smanip<int>(&fb, no));
   }

int main( )
{
   cout << "10 blanks follow" << fillblank( 10 ) << ".\n";
}

参照

関連項目

引数を持つカスタム マニピュレーター