2020年,給自己定一個新目標————開始寫技術博客,將之前所學的內容重新復習并整理成一系列的文章,一來可以讓自己對這些基礎知識更加熟悉,二來方便于以后的復習查閱,
以前自己都是以筆記的形式將知識點記錄在有道云筆記中,這樣可能造成由于時間緊或者懶,只是記錄了筆記,沒有去深刻的理解,所以乘著這次全面復習的機會,把基礎知識都整理成文章的形式,對各個知識點加深理解,耗時可能比較長,但是一定要堅持,
本系列文章為C++知識的集合,我想結合《C++ Primer》、《STL原始碼剖析》、《深度探索C++物件模型》、《Effective C++》、《More Effective C++》這5本書,從易到難地把C++知識點整理一遍,
首先,從輸入/輸出開始,簡單地認識一下C++:
#include <iostream>
int main()
{
std::cout << "Enter two numbers: ";
int num1, num2;
std::cin >> num1 >> num2;
std::cout << "The sum is: " << num1 + num2 << std::endl;
return 0;
}
這段代碼的作用就是:輸入兩個整數,輸出它們的和,
頭檔案iostream包含了該程式需要使用到的輸入流(istream)和輸出流(ostream),而cin、cout為輸入、輸出的物件,endl是一個被稱為操縱符(manipulator)的特殊值,輸出它的作用就是結束當前行,并且重繪緩沖區,
緩沖重繪操作可以保證到目前為止,程式所產生的所有輸出都真正寫入輸出流中,而不是僅停留在記憶體中等待寫入流,這在日志系統中很有用,
前綴std::指出這些名字(cin、cout、endl)是定義在名為std的命名空間(namespace)中的,
試想,如果輸入的不是整數,而是字符,會發生什么呢?答案是,流會失效,后面寫到標準IO庫時再細說,
在《Effective C++》中,如是說,C++已是一個多重范型的編程語言,同時支持程序形式(procedural)、面向物件形式(object-oriented)、函式形式(functional)、泛型形式(generic)、元編程形式(metaprogramming),
使用C++最簡單的方法就是將C++看作一個由相關次語言組成的聯合,分為四個次語言:
- C C++仍是以C為基礎
- Object-Oriented C++ 也就是C with classes,包括構造/析構,封裝(encapsulation),繼承(inheritance),多型(polymorphism)
- Template C++ C++泛型編程(generic programming)部分,模板元編程(template metaprogramming, TMP)
- STL 對容器(containers)、迭代器(iterators)、演算法(algorithms)以及函式物件(function objects)的規約有極佳的緊密配合與協調
本系列文章也將圍繞這4個部分來詳細地介紹C++,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/69139.html
標籤:C++
上一篇:ffmpeg
下一篇:Catch That Cow
