C++基礎(chǔ)筆記01

強(qiáng)類型語言,類型檢查嚴(yán)格
支持面向?qū)ο螅盒驮浚惓#ù蛴螒蚩刹荒墚惓#\算符重載

C++文件后綴可以是 .cpp绍绘,.cc奶镶,.c等

//includeC++本身的頭文件時 使用<不加.h>
#include <iostream>
//C 的頭文件  可以加.h  但是C++不推薦
#include <stdio.h>
//推薦 使用C++重寫的頭文件 把.h去掉 在前面加c
#include <cstdio>
//如果要 include 我們自己寫的頭文件時 使用 "" 加.h
#include "MyClass.h"

cout的是一個對象 通過<<輸出運算符 進(jìn)行輸出 可以連續(xù)輸出,endl是換行陪拘。
cin/cout代替 scanf,cout
std是命名空間厂镇,::是域運算符

std::cout << "Hello, World!\n" << 123213 << 3.4324 << 'a'<< std::endl;
std::cin >> x;
//  相當(dāng)于std::cin.operator>>(x);對象調(diào)方法,可省左刽,略寫如上

命名空間

//使用指令后的所有std命名空間下的東西 訪問時都可以不用在加 std了
using namespace std;
//變量和函數(shù)
namespace Hero {
    const char *name = "英雄";
    void show() {
        std::cout << "英雄出現(xiàn)了" << std::endl;
    }
}
//命名空間可以分開寫
namespace Hero {
    int a = 200;
}
//使用聲明
using std::cout;

//C++會把所用東西都放在命名空間下捺信,如果我們自己沒有寫命名空間,默認(rèn)放在一個沒有名字的命名空間下
    cout << ::name << endl;

結(jié)構(gòu)

//可以放函數(shù)
struct Date {
    int year;
    int month;
    int day;
    void show() {
        cout << year << "-" << month << "-" << day << endl;
    }
};

聯(lián)合就是在內(nèi)存中都占同一片地址

union MyUnion {
    int x;
    int y;
    double d;
    char cs[4];
};
//可以有匿名聯(lián)合
union {
    int x;
    int y;
};

枚舉:不再只是普通的int

//注意用枚舉提高代碼可讀性
enum HeroState{
    Stand,
    Move,
    Attack,
    Die
};

C++中bool是數(shù)據(jù)類型欠痴,本質(zhì)也是int迄靠,c中是宏定義

運算符可以用其他奇怪的關(guān)鍵字替換

注意值傳遞和地址傳遞

C++的參數(shù)默認(rèn)值 必須從右向左給 右邊的參數(shù)有了默認(rèn)值左邊的參數(shù)才可以給默認(rèn)值

內(nèi)聯(lián)函數(shù)

//inline 內(nèi)聯(lián)函數(shù) 執(zhí)行效率要比普通的函數(shù)高
//內(nèi)聯(lián)函數(shù)執(zhí)行的時候不會在棧中開辟空間,而是直接把內(nèi)容拷貝到得調(diào)用的方法中
//inline只是向編譯器發(fā)送請求斋否,希望成為內(nèi)聯(lián)函數(shù),編譯器會做檢查拭荤,如果內(nèi)容少茵臭,邏輯簡單就會同意申請,如果拒絕了舅世,這個函數(shù)調(diào)用還和普通函數(shù)一樣,  同常情況下旦委,如果是個遞歸函數(shù),肯定會拒絕
inline void print(int x) {
    int a = 200;
    int b = 300;
    cout << x + a + b << endl;
}

啞元函數(shù)

//沖突時多一個參數(shù)雏亚,沒有參數(shù)名缨硝,這樣就是啞元
void print(int x, int) {
    cout << x << endl;
}

int &r = x;
引用實際是別名,反正r就是x,都是同一個東西罢低,地址都一樣查辩。其實寫成
int& r=x胖笛;更好理解
r是個int類型的引用。
引用是一輩子的宜岛,不可以改地址了

  // 聲明引用必須初始化
//如果要引用一個常量 必須使用常引用
    const int &r3 = 500;
//    r3 = 500;

弄清值傳遞x=y长踊、地址傳遞 int* p、引用傳遞&x=y
*是尋址運算符也是指針
&是取地址符也是引用

交換兩數(shù)的多種方法swap

//交換:用引用
void swap(int &x, int &y) {
    cout << x << ' ' << y << endl;
    int t = x;
    x = y;
    y = t;
    cout << x << ' ' << y << endl;
}

//交換  兩數(shù)交換不使用第三個變量
void swap2(int &x, int &y) {
    x = x + y;
    y = x - y;
    x = x - y;
}

//按位異或交換 不使用第三個變量
void swap3(int &x, int &y) {
    x = x ^ y;
    y = x ^ y;
    x = x ^ y;
}

//永遠(yuǎn)不要返回局部變量的引用

int& fc() {
    int x = 100;
    return x; 
}

// static_cast<類型>()
// 轉(zhuǎn)換時做靜態(tài)檢查萍倡,即在編譯時進(jìn)行
// void*到其他指針的轉(zhuǎn)換

double d = 3.1415926;
// int x = d; //隱式類型轉(zhuǎn)換
 int x = static_cast<int>(d);
//    reinterprect_cast<類型>()
//    允許強(qiáng)轉(zhuǎn)任何類型的指針
//    把整數(shù)強(qiáng)轉(zhuǎn)成指針身弊,指針強(qiáng)轉(zhuǎn)成整數(shù)
 double *pd = reinterpret_cast<double*>(pl);
//    const_cast<類型>()
//    去掉cv限制
 volatile const int a = 100;//值已改但編譯器自作聰明,volatile 易揮發(fā)的
提醒編譯器還是再去內(nèi)存中取值了列敲。
 int *pa = const_cast<int *>(&a); //const int *
 *pa = 200;

//獲取成員變量地址用 Struct::
&Date::year;
this指針阱佛,隱式地傳入當(dāng)前對象

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市戴而,隨后出現(xiàn)的幾起案子凑术,更是在濱河造成了極大的恐慌,老刑警劉巖填硕,帶你破解...
    沈念sama閱讀 221,576評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件麦萤,死亡現(xiàn)場離奇詭異,居然都是意外死亡扁眯,警方通過查閱死者的電腦和手機(jī)壮莹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,515評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來姻檀,“玉大人命满,你說我怎么就攤上這事⌒灏妫” “怎么了胶台?”我有些...
    開封第一講書人閱讀 168,017評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長杂抽。 經(jīng)常有香客問我诈唬,道長,這世上最難降的妖魔是什么缩麸? 我笑而不...
    開封第一講書人閱讀 59,626評論 1 296
  • 正文 為了忘掉前任铸磅,我火速辦了婚禮,結(jié)果婚禮上杭朱,老公的妹妹穿的比我還像新娘阅仔。我一直安慰自己,他們只是感情好弧械,可當(dāng)我...
    茶點故事閱讀 68,625評論 6 397
  • 文/花漫 我一把揭開白布八酒。 她就那樣靜靜地躺著,像睡著了一般刃唐。 火紅的嫁衣襯著肌膚如雪羞迷。 梳的紋絲不亂的頭發(fā)上界轩,一...
    開封第一講書人閱讀 52,255評論 1 308
  • 那天短绸,我揣著相機(jī)與錄音傍药,去河邊找鬼漾峡。 笑死巡揍,一個胖子當(dāng)著我的面吹牛枉侧,可吹牛的內(nèi)容都是我干的歹篓。 我是一名探鬼主播母赵,決...
    沈念sama閱讀 40,825評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼眼溶,長吁一口氣:“原來是場噩夢啊……” “哼碍现!你這毒婦竟也來了幅疼?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,729評論 0 276
  • 序言:老撾萬榮一對情侶失蹤昼接,失蹤者是張志新(化名)和其女友劉穎爽篷,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體慢睡,經(jīng)...
    沈念sama閱讀 46,271評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡逐工,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,363評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了漂辐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片泪喊。...
    茶點故事閱讀 40,498評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖髓涯,靈堂內(nèi)的尸體忽然破棺而出袒啼,到底是詐尸還是另有隱情,我是刑警寧澤纬纪,帶...
    沈念sama閱讀 36,183評論 5 350
  • 正文 年R本政府宣布蚓再,位于F島的核電站,受9級特大地震影響包各,放射性物質(zhì)發(fā)生泄漏摘仅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,867評論 3 333
  • 文/蒙蒙 一问畅、第九天 我趴在偏房一處隱蔽的房頂上張望娃属。 院中可真熱鬧,春花似錦按声、人聲如沸膳犹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,338評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至铐料,卻和暖如春渐裂,著一層夾襖步出監(jiān)牢的瞬間豺旬,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,458評論 1 272
  • 我被黑心中介騙來泰國打工柒凉, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留族阅,地道東北人。 一個月前我還...
    沈念sama閱讀 48,906評論 3 376
  • 正文 我出身青樓膝捞,卻偏偏與公主長得像坦刀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子蔬咬,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,507評論 2 359

推薦閱讀更多精彩內(nèi)容