C++深度解析 初探C++標準庫 --- cin,cout,std(31)
阿新 • • 發佈:2018-12-30
C++深度解析 初探C++標準庫 --- cin,cout,std(31)
過載左移操作符
示例程式:
#include <stdio.h> const char endl = '\n'; class Console { public: Console& operator << (int i) { printf("%d", i); return *this; } Console& operator << (char c) { printf("%c", c); return *this; } Console& operator << (const char* s) { printf("%s", s); return *this; } Console& operator << (double d) { printf("%f", d); return *this; } }; //全域性物件 Console cout; int main() { cout << 1 << endl; cout << "D.T.Software" << endl; double a = 0.1; double b = 0.2; cout << a + b << endl; return 0; }
結果如下:
C++標準庫
C++標準庫並不是C++語言的一部分。
C++標準庫是由類庫和函式庫組成的集合。
C++標準庫中定義的類和物件都位於std名稱空間中。
C++標準庫的標頭檔案都不帶.h字尾。
C++標準庫涵蓋了C庫的功能。
C++編譯環境組成
C++標準庫預定義了多數常用的資料結構
- <bitset> -<set> -<cstdio>
-<deque> -<stack> -<cstring>
-<list> -<vector> -<cstdlib>
-<queue> -<map> -<cmath>
示例程式:(C++標準庫中的C庫相容)
#include <stdio.h> // C++編譯器廠商為了推廣自己的產品,所提供的C相容庫
#include <string.h> // C++編譯器廠商為了推廣自己的產品,所提供的C相容庫
#include <stdlib.h> // C++編譯器廠商為了推廣自己的產品,所提供的C相容庫
#include <math.h> // C++編譯器廠商為了推廣自己的產品,所提供的C相容庫
#include <cstdio> // C++標準庫的相容模組
#include <cstring> // C++標準庫的相容模組
#include <cstdlib> // C++標準庫的相容模組
#include <cmath> // C++標準庫的相容模組
using namespace std;
int main()
{
printf("Hello world!\n");
char* p = (char*)malloc(16);
strcpy(p, "D.T.Software");
double a = 3;
double b = 4;
double c = sqrt(a * a + b * b);
printf("c = %f\n", c);
free(p);
return 0;
}
結果如下:
C++中的輸入和輸出,cout 和 cin
示例程式:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
cout << "Hello world!" <<endl;
double a = 0;
double b = 0;
cout << "Input a: ";
cin >> a;
cout << "Input b: ";
cin >> b;
double c = sqrt(a * a + b * b);
cout << "c = " << c << endl;
return 0;
}
結果如下:
小結
C++標準庫是由類庫和函式庫組成的集合
C++標準庫包含經典演算法和資料結構的實現
C++標準庫涵蓋了C庫的功能
C++標準庫位於std名稱空間中