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++標準庫標頭檔案介紹C++
- C++標頭檔案<algorithm>中常用函式簡介C++Go函式
- C++ 數學函式、標頭檔案及布林型別詳解C++函式型別
- 介紹下extern和標頭檔案的聯絡
- C++ 列舉型別介紹C++型別
- GaussDB資料庫基礎函式介紹1資料庫函式
- C++ 類建構函式初始化列表介紹C++函式
- C++ 字元處理函式(cctype標頭檔案)C++字元函式
- Visual C++ 6.0專案檔案型別簡介C++型別
- C++ 字串 cctype 標頭檔案標準庫處理函式C++字串函式
- C++中的基本變數型別介紹C++變數型別
- 【重溫基礎】JS中的常用高階函式介紹JS函式
- Nt函式原型標頭檔案函式原型
- Redis基礎、常用型別介紹、時間複雜度Redis型別時間複雜度
- Trim() 函式的介紹函式
- algorithm標頭檔案下的常用函式Go函式
- ORACLE函式介紹Oracle函式
- TypeScript 函式介紹TypeScript函式
- ActiveMq的基礎介紹MQ
- JDBC的基礎介紹JDBC
- 第二章 java基礎(基本資料型別介紹)Java資料型別
- 巨集_變數_函式_指標_標頭檔案變數函式指標
- Pandas基礎介紹
- Elasticsearch 基礎介紹Elasticsearch
- kafka 基礎介紹Kafka
- kafka基礎介紹Kafka
- Xamarin.FormsShell基礎教程(7)Shell專案關於頁面的介紹ORM
- javascript函式中with的介紹JavaScript函式
- Oracle 的基本函式介紹Oracle函式
- TypeScript基礎入門-函式-簡介TypeScript函式
- MySQL中的幾類日誌檔案介紹MySql
- string型別介紹型別
- c++中模板類的成員函式的宣告與定義應該放在標頭檔案裡C++函式
- oracle常用函式介紹Oracle函式
- 機器學習基本函式介紹機器學習函式
- replaceChild()函式用法介紹函式
- lpad函式介紹函式
- oracle REPLACE 函式 介紹Oracle函式