共用方式為


使用一個引數 (int 或 long) 的輸出資料流 Manipulators

Iostream 類別程式庫提供一組巨集建立參數化的 manipulators。以單一的 manipulators int或long引數則是特例。若要建立會接受一個輸出資料流 manipulator int或long引數 (就像setw),您必須使用 _Smanip 巨集,定義在 <iomanip> 中。這個範例會定義fillblank指定的數目的空格中插入資料流的 manipulator:

範例

// 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";
}

請參閱

參考

使用引數的自訂 Manipulators