---------------------------------------------------------
入口函數 _tmain : wmain() UNCONDE版本的main()
—tmain : main () 多字節集編碼
1.輸入和輸出
cin>> 輸入
cout<< 輸出
2.命名空間
using namespace std;//系統寫好的
#include <iostream>
using namespace std;
2.0定義一個命名空間的方式:
namespace 標識符
{
}
作用:增加標識符的重用性
注意點:
2.1 同一命名空間內,不存在相同的標識符
2.2 命名空間嵌套的訪問方式
2.3 嵌套處理的前綴的方式 namespace abc=a::b::c
2.4 using 的使用
避免二義性
3.bool類型
3.1 是邏輯上的true 和false
3.2 值:0:false 非零值:true
3.3 內存 佔用1個字節
--------------C++思想
4.內聯的概念
4.1 隱式內聯 結構體或者類中實現的函數 C++結構體中可以寫成員函數
4.2 顯示內聯 inline 聲明的函數叫做內聯函數
4.3 注意點
結構體中聲明一個函數,結構體體外實現,要顯式聲明才能為內聯函數
5.引用
5.1 起別名的
5.2 當作函數參數
5.3 當作返回值
注意:不能返回局部變量的引用
5.4 引用和指針的比較
5.4.1 指針變量,存儲的是一個地址,引用是一種別名
5.4.2 指針有多級指針,引用只有一級 int **p合理 int &&p是錯誤
5.4.3 指針可以為NULL ,引用必須初始化
5.4.4 指針初始化後可以改變,引用初始化後不能改變
6.動態分配
回顧 動態分配:malloc realloc(重新分配) calloc(初始化為0) alloca(在棧上申請內存,自動釋放)
釋放內存:free
new:分配
delete:釋放內存
6.1 申請一個空間
6.2 申請過程初始化內存 變量() 數組:{}
6.3 申請一段空間
6.4 釋放內存
6.3.4注意點 釋放一段空間
int p =new int[100];
delete [] p;
6.5內存池
步驟:
6.5.1 申請一段大空間
6.5.2 小的分配
7.類型轉換
1.static_cast<目標類型>(源類型對象);
1.1 類層次中基類和派生類之間的指針或者引用轉換 (後面講)
1.2 基本數據類型的轉換 int 轉換char
1.3 把任意類型轉換為void類型
2.const_cast<目標類型>(源類型對象);
1.1 去掉const 屬性 指針或者引用
1.2 去掉volatile 多線程
3.reinterpret_cast<目標類型>(源類型對象);
把整數轉換為一個指針