C++基礎::函式、類、型別所在的標頭檔案 && 介面的介紹
除非特別說明,所在的名稱空間均是:標準名稱空間,也即std;
stuff | header | 說明 |
---|---|---|
ifstream ofstream fstream |
<fstream> | 檔案流 in>> out << |
istringstream ostringstream stringstream |
<sstream | 字串流 |
<shared_ptr> <unique_ptr> |
<memory> | <memory>是標準名稱空間的標頭檔案 <boost\shared_ptr.hpp>標頭檔案,名稱空間為boost也有智慧指標的定義 |
pair | <utility> | |
complex | <complex> | |
numeric_limits | <limits> | |
accumulate | <numeric> | |
ptrdiff_t | <crtdef.h> | |
size_t | <cstddef> | |
unordered_map unordered_mulitmap |
<unordered_map> | |
unordered_set unordered_multiset |
<unordered_set> | |
is_pointer(模板結構體) is_integral(模板結構體) |
<type_traits> | |
ifstream ofstream |
<fstream> | |
pair | <utility> | |
tuple | <tuple> | |
for_each | <algorithm> | |
getline | <string> | while(std::getline(in, str, ‘\n’)){…} 第三個引數(分隔符)的型別為char,而不是string |
setw | <iomanip> | cout << setw(10) << left << … |
介面
沒有pair_size和pair_element,pair物件也統一交由tuple_like介面(tuple_size、tuple_element)管理。
-
tuple_size:返回引數個數,
-
tuple_element:返回每一位上的型別,第一個模板引數為非型別模板引數
typedef std::tuple<int, float, std::string> TupleType;
cout << std::tuple_size<TupleType>::value << endl;
std::tuple_element<2, TupleType>::type s("hello world");
1. C 標頭檔案
stuff | header | 說明 |
---|---|---|
malloc | <stdlib.h> | |
exit | <cstdlib.h> | |
strlen | <string.h> | <string>也給出了該函式的實現 自然無需在std的名稱空間中 |
typeid | <typeinfo> | 但不在std 標準名稱空間中 |
getch()/_getch() | <conio.h> | Console Input/Output(控制檯輸入輸出)的簡寫 |
2. C++ 標頭檔案
stuff | header | 說明 |
---|---|---|
min/max | algorithm | std |
3. cstdlib ⇒ exit()
void exit(int code);
錯誤碼主要有:
#define EXIT_SUCCESS 0
#define EXIT_FAILURE 1
std::ifstream ifs(filename);
if (!ifs.good())
{
std::cerr << "cannot open the input file \"" << filename << "\"" << std::endl;
exit(EXIT_FAILURE);
}
4. typeid
int fputs(const char*, FILE* );
為什麼可將標準輸入輸出(stdin/stdout)賦值給fputs
的第二個引數,可見stdin/stdout的真實資料型別應是FILE*
,使用typeid
一試便知:
printf("%s\n", typeid(stdout).name());
printf("%s\n", typeid(FILE*).name());
5. toupper/tolower
所在的標頭檔案 :
#include <ctype.h> // C
#include <cctype> // C++
函式宣告:
int toupper(int c);
使用:
char(toupper('a')) ⇒ 'A'
相關文章
- C++標頭檔案<algorithm>中常用函式簡介C++Go函式
- C++ 數學函式、標頭檔案及布林型別詳解C++函式型別
- 介紹下extern和標頭檔案的聯絡
- C++ 列舉型別介紹C++型別
- Visual C++ 6.0專案檔案型別簡介C++型別
- C++ 類建構函式初始化列表介紹C++函式
- GaussDB資料庫基礎函式介紹1資料庫函式
- C++ 字元處理函式(cctype標頭檔案)C++字元函式
- C++ 字串 cctype 標頭檔案標準庫處理函式C++字串函式
- C++中的基本變數型別介紹C++變數型別
- 【重溫基礎】JS中的常用高階函式介紹JS函式
- Redis基礎、常用型別介紹、時間複雜度Redis型別時間複雜度
- algorithm標頭檔案下的常用函式Go函式
- stoi函式介紹函式
- string型別介紹型別
- JDBC的基礎介紹JDBC
- ActiveMq的基礎介紹MQ
- javascript函式中with的介紹JavaScript函式
- 巨集_變數_函式_指標_標頭檔案變數函式指標
- Xamarin.FormsShell基礎教程(7)Shell專案關於頁面的介紹ORM
- TypeScript基礎入門-函式-簡介TypeScript函式
- c++中模板類的成員函式的宣告與定義應該放在標頭檔案裡C++函式
- Pandas基礎介紹
- Elasticsearch 基礎介紹Elasticsearch
- oracle常用函式介紹Oracle函式
- funclib函式庫介紹函式
- cuda函式庫介紹函式
- string.h標頭檔案(字串函式)字串函式
- 介紹基於OpenFaaS函式的knative Build教程 - alexellis函式UI
- javascript中generator函式的介紹JavaScript函式
- javascript高階函式的介紹JavaScript函式
- C++ 引用型別簡介C++型別
- C++純虛擬函式簡介及區別C++函式
- C++標準庫、C++標準模版庫介紹C++
- 1、Oracle 基礎介紹Oracle
- MySQL 教程基礎介紹MySql
- Dart建構函式介紹Dart函式
- c++ 類的函式引用 指標C++函式指標
- Go 函式多返回值錯誤處理與error 型別介紹Go函式Error型別