工具程式庫 (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> | 除錯用的巨集。 |
舉一例如下
001 | #include <iostream> |
002 | #include <iomanip> |
003 | #include <ctime> |
004 | |
005 | using namespace std; |
006 | |
007 | int main() { |
008 | time_t t = time(nullptr); |
009 | cout << "UTC: " |
010 | << put_time(gmtime(&t), "%c %Z") |
011 | << endl; |
012 | cout << "Local: " |
013 | << put_time(localtime(&t), "%c %Z") |
014 | << endl; |
015 | } |
016 | |
017 | /* Kaiching Chang |
018 | u1501.cpp |
019 | 2014-02 */ |
此例主要示範 ctime ,像是 time_t 為 ctime 中定義計算時間的型態, time() 則是 ctime 中回傳現在時間的函數
008 | time_t t = time(nullptr); |
下面的 put_time() 來自 iomanip ,這是格式化輸出時間的函數 (function) ,而 gmtime() 是 ctime 的函數,會將現在時間轉換成 UTC 時區的時間
010 | << put_time(gmtime(&t), "%c %Z") |
localtime() 也是 ctime 的函數,這會將現在時間轉換成使用者時區的時間
013 | << put_time(localtime(&t), "%c %Z") |
編譯執行,結果如下
$ g++ u1501.cpp |
$ ./a.out |
UTC: Sun Mar 30 03:37:04 2014 UTC |
Local: Sun Mar 30 11:37:04 2014 CST |
$ |
continue ...
沒有留言:
張貼留言