C++ 速查手冊
15.1 - 工具程式庫
工具程式庫 (utilities library) 可分為一般性的應用
名稱 | 功能 |
---|---|
<cstdlib> | 程序控制、記憶體管理、數字與字串轉換、寬字串管理、數學及搜尋排序演算法。 |
<csignal> | 訊號相關控制。 |
<csetjmp> | 程式跳躍控制。 |
<cstdarg> | 可變參數控制。 |
<typeinfo> | 執行期間資訊工具。 |
<typeindex>C++11 | std::type_index |
<type_traits>C++11 | 編譯期間資訊工具。 |
<bitset> | std::bitset |
<functional> | 函數物件控制。 |
<utility> | 一般工具。 |
<ctime> | 時間、日期相關工具。 |
<chrono>C++11 | 時間相關工具。 |
<cstddef> | 型態別名。 |
<initializer_list>C++11 | std::initializer_list |
<tuple>C++11 | std::tuple |
動態記憶體管理
名稱 | 功能 |
---|---|
<new> | 低階記憶體管理工具。 |
<memory> | 高階記憶體管理工具。 |
<scoped_allocator>C++11 | 巢狀記憶體管理類別。 |
數字界限
名稱 | 功能 |
---|---|
<climits> | 整數型態界限。 |
<cfloat> | 浮點數型態界限。 |
<cstdint>C++11 | 固定尺寸的型態界限。 |
<cinttypes>C++11 | 數字型態轉換的巨集。 |
<limits> | 基本內建型態的界限。 |
以及錯誤處理
名稱 | 功能 |
---|---|
<exception> | 例外處理工具。 |
<stdexcept> | 標準例外物件。 |
<cassert> | 除錯用的巨集。 |
<system_error>C++11 | std::error_code |
<cerrno> | 除錯用的巨集。 |
舉一例如下
#include <iostream>
#include <iomanip>
#include <ctime>
using namespace std;
int main() {
time_t t = time(nullptr);
cout << "UTC: " << put_time(gmtime(&t), "%c %Z") << endl;
cout << "Local: " << put_time(localtime(&t), "%c %Z") << endl;
}
/* 《程式語言教學誌》的範例程式
http://kaiching.org/
檔名:u1501.cpp
功能:示範 C++ 的標準程式庫
作者:張凱慶*/
此例主要示範 ctime ,像是 time_t 為 ctime 中定義計算時間的型態, time() 則是 ctime 中回傳現在時間的函數
time_t t = time(nullptr);
下面的 put_time() 來自 iomanip ,這是格式化輸出時間的函數 (function) ,而 gmtime() 是 ctime 的函數,會將現在時間轉換成 UTC 時區的時間
cout << "UTC: " << put_time(gmtime(&t), "%c %Z") << endl;
localtime() 也是 ctime 的函數,這會將現在時間轉換成使用者時區的時間
cout << "Local: " << put_time(localtime(&t), "%c %Z") << endl;
編譯執行,結果如下
$ g++ u1501.cpp |
$ ./a.out |
UTC: Sat Dec 15 01:26:39 2018 UTC |
Local: Sat Dec 15 09:26:39 2018 CST |
$ |
相關教學影片