
工具程式庫 (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 ...
沒有留言:
張貼留言