函式
<ios> <iostream>

std::noshowbase

ios_base& noshowbase (ios_base& str);
不顯示數值基數的_字首_
清除 _str_ 流的 showbase 格式標誌。

showbase 格式標誌未設定時,數值將插入流中,而不帶任何數值基數字首(即:0x用於十六進位制值,0用於八進位制值,十進位制值則沒有字首)。

此標誌可以透過 showbase 操縱符來設定,該操縱符強制在整數數值前加上各自的數值基數字首。

對於標準流,showbase 標誌在初始化時是未設定的。

引數

str
格式標誌受影響的流物件。
因為此函式是一個操縱符,它被設計為在不帶引數的情況下,與流上的插入 (<<) 和提取 (>>) 操作結合使用(見下例)。

返回值

引數 str

示例

1
2
3
4
5
6
7
8
9
// modify showbase flag
#include <iostream>     // std::cout, std::showbase, std::noshowbase

int main () {
  int n = 20;
  std::cout << std::hex << std::showbase << n << '\n';
  std::cout << std::hex << std::noshowbase << n << '\n';
  return 0;
}

輸出
0x14
14


資料競爭

修改 str。對同一個流物件的併發訪問可能導致資料競爭。

異常安全

基本保證:如果丟擲異常,str 處於有效狀態。

另見