1.輸入輸出
流:隨著時間的推移,字元是順序生成或消耗的;
std:
:cout<<"hello world"
<:
:endl;
《運算子接受兩個運算物件,左側必須是ostream,右側是要列印的值,計算結果返回ostream物件中。上述使用兩次《運算子,第一次運算結果成了第二次的左側物件。
note:在寫過載《運算子是要返回ostream&
endl效果:結束當前行,並將與裝置關聯的緩衝區中的內容輸出到裝置中。
2.讀取數量不定的輸入資料
while(cin>>value){}
//對於windows結束方式是ctrl+z
1.內建型別(算術型別和空型別)
c++11定義了long long
2.signed和unsigned
表示式帶有無符號和有符號型別時,會出現異常結果。因為帶符號會自動轉為無符號型別。
3.字串字面值的實際長度比它的內容多1;
4.變數宣告和定義
extern
int i;//宣告而非定義i
int j;//宣告並定義了j
//變數只能被定義1次,可被多次宣告
note:如果要在多個檔案中使用同乙個變數,必須將宣告和定義分離,定義且只能出現在乙個檔案中,其它檔案要使用必須對其進行宣告,不能重複定義。
5.const物件必須初始化,之後不能改變
6.頂層const
指標本身是乙個物件,本身是常量是頂層const
指標可以指向另乙個物件,所在物件是個常量是底層const
7.constexpr和常量表示式
c++11規定執行將變數宣告為constexpr型別由編譯器來驗證變數值是否是乙個常量表示式。
8.auto和decltype
1.使用getline讀取一整行(保留空格)
2.cctype標頭檔案中標準庫函式關於字元的操作
3.c++11中for(auto c:str)
string s("hello world!");
decltype(s.size()) punct_cnt=0;
for(auto c:s)
if(ispunct(s))++punct_cnt;//統計符合數
for(auto &c:s)
c=toupper(c);//小寫轉大寫
4.可以定義存放指標的數字,但不可以定義存放引用的陣列;
int *ptrs[10];//含有10個整型指標的陣列
int &refs[10];//錯誤:不存在引用的陣列
int (*parray)[10]=&arr;//指向含有10個整數的陣列
int (&arrref)[10]=arr;//引用乙個含有10個整數的陣列
int *(&arry)[10]=ptrs;//arry是陣列的引用,該陣列含有10個指標
5.c++11引入begin和end
int ia=;
int*beg=begin(ia);
int*last=end(ia);//指向尾元素下乙個位置
6.陣列下標可以是負號
int ia=;
int *p=&ia[2];
int k=p[1];//等價於*(p+1),等價於ia[3]
int j=p[-2];//等價於ia[0]
1.多用*iter++,返回當前指向值,然後一到下一位
2.位運算子:<< ,>>,&,|,~操作
3.型別轉換
static_cast
const_cast
reinterpret_cast
1.try語句塊
trycatch()
catch()
...
C primer 學習筆記 第9章(1)
這部分的內容你在寫程式的時候肯定是處處都能用到的,而且會讓你的程式很簡潔。本章其實是第三章內容的拓展,詳細地介紹了標準庫順序容器的知識。乙個容器就是一些 特定同一型別 物件的集合。順序容器為程式設計師提供了控制元素儲存和訪問順序的能力。這種順序不依賴於元素的值,而是與元素加入容器時的位置相對應。所有...
c primer閱讀筆記 15章 1
1 物件導向程式設計基於三個基本概念 資料抽象 繼承和動態繫結。在 c 中,用類進行資料抽象,用類派生從乙個類繼承另乙個 派生類繼承基類的成員。動態繫結使編譯器能夠在執行時決定是使用基類中定義的函式還是派生類中定義的函式。15.1.物件導向程式設計 概述 1 物件導向程式設計的關鍵思想是多型性 po...
c primer學習筆記 1
學習筆記只為幫助自己記憶,寫的並不嚴謹,以自己理解為主.若看到此文的人,發現錯誤請指出,非常感謝.還是以main函式為入口點,可以有返回值,也可以返回值為void,檔案字尾名為cpp 以不同編譯為準 int main 即c 的擴充套件函式庫 標準庫中用於基本標準輸出和輸入的庫 先看以下兩個方法 1 ...