最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C++ private、protected、public從入門到精通實例解析

 更新時間:2026年01月23日 11:25:38   作者:帶土1  
本文介紹了C++中的訪問控制關(guān)鍵字public、protected和private,包括它們的定義、規(guī)則和應(yīng)用場景,同時,還探討了繼承中的訪問控制以及友元的概念和使用,文章還提供了面試高頻考點的標(biāo)準(zhǔn)答案,并總結(jié)了開發(fā)中最佳實踐,感興趣的朋友跟隨小編一起看看吧

八股文又來了, 看吧 看一遍你就會了 時間長忘了?那就再看一遍孩子

一、核心概述

private、protected、public 是 C++ 封裝特性的核心載體,其本質(zhì)是在編譯期限制類成員(變量/函數(shù))在不同作用域下的可見性和訪問權(quán)限——簡單來說,就是規(guī)定“哪些地方能使用類的某個成員,哪些地方不能”。掌握這三個關(guān)鍵字的規(guī)則,是寫出符合工程化規(guī)范、高內(nèi)聚低耦合 C++ 代碼的基礎(chǔ)。

二、基礎(chǔ)定義 & 核心訪問規(guī)則

2.1 核心規(guī)則表(必記)

關(guān)鍵字官方定義大白話解釋類內(nèi)訪問類外訪問(通過對象)派生類(子類)訪問
public公有的,對外暴露的接口,無訪問限制誰都能訪問:類自己能用、外部代碼能用、子類也能用? 允許? 允許? 允許
private私有的,僅類內(nèi)部可見,封裝的核心體現(xiàn)只有類自己能用:外部代碼不能用、子類也不能用(友元除外)? 允許? 禁止? 禁止
protected受保護的,介于public和private之間,為派生類預(yù)留的訪問權(quán)限類自己能用、子類能用,但外部代碼不能用? 允許? 禁止? 允許

2.2 默認訪問控制(易錯點)

  • class 定義類時,默認訪問控制是 private(未寫關(guān)鍵字的成員均為 private);
  • struct 定義類時,默認訪問控制是 public(C++ 對 C 的兼容設(shè)計,struct 僅默認權(quán)限與 class 不同)。

2.3 基礎(chǔ)驗證代碼

#include <iostream>
using namespace std;
class MyClass {
    // 未寫關(guān)鍵字,class默認private
    int default_val = 0; 
public:
    int pub_val = 10;    // 公有成員
    void pub_func() {
        // 類內(nèi):能訪問所有成員(public/private/protected)
        cout << "類內(nèi)訪問 private_val: " << pri_val << endl;
        cout << "類內(nèi)訪問 protected_val: " << pro_val << endl;
        cout << "類內(nèi)訪問 default_val: " << default_val << endl;
    }
private:
    int pri_val = 20;    // 私有成員
    void pri_func() { cout << "私有函數(shù)" << endl; }
protected:
    int pro_val = 30;    // 受保護成員
    void pro_func() { cout << "受保護函數(shù)" << endl; }
};
// 派生類(子類)
class Derived : public MyClass {
public:
    void derived_func() {
        // 派生類:能訪問基類的public/protected,不能訪問private
        cout << "派生類訪問 pub_val: " << pub_val << endl;       // ? 允許
        cout << "派生類訪問 pro_val: " << pro_val << endl;       // ? 允許
        // cout << "派生類訪問 pri_val: " << pri_val << endl;    // ? 禁止:private不可訪問
        pro_func();                                             // ? 允許調(diào)用protected函數(shù)
        // pri_func();                                          // ? 禁止調(diào)用private函數(shù)
    }
};
int main() {
    MyClass obj;
    // 類外:僅能訪問public成員
    cout << "類外訪問 pub_val: " << obj.pub_val << endl;         // ? 允許
    // cout << "類外訪問 pro_val: " << obj.pro_val << endl;     // ? 禁止:protected不可訪問
    // cout << "類外訪問 pri_val: " << obj.pri_val << endl;     // ? 禁止:private不可訪問
    obj.pub_func();                                             // ? 允許調(diào)用public函數(shù)
    // obj.pro_func();                                          // ? 禁止調(diào)用protected函數(shù)
    // obj.pri_func();                                          // ? 禁止調(diào)用private函數(shù)
    Derived d_obj;
    d_obj.derived_func();                                       // ? 派生類內(nèi)部邏輯正常執(zhí)行
    return 0;
}

2.4 補充:同一類不同對象的訪問規(guī)則

訪問控制是“類級別”的限制,而非“對象級別”——同一個類的不同對象,可互相訪問對方的 private/protected 成員(編譯期認為屬于“同一類的內(nèi)部”):

#include <iostream>
using namespace std;
class MyClass {
private:
    int m_val = 10;
public:
    // 訪問同類型另一個對象的private成員
    void accessAnotherObj(MyClass& other) {
        cout << "訪問另一個對象的private成員:" << other.m_val << endl; // ? 允許
        other.m_val = 20; // ? 可修改
    }
    int getVal() const { return m_val; }
};
int main() {
    MyClass a, b;
    a.accessAnotherObj(b); // 輸出:訪問另一個對象的private成員:10
    cout << "修改后b的val:" << b.getVal() << endl; // 輸出:20
    return 0;
}

三、繼承中的訪問控制(面試必考)

派生類繼承基類時,繼承方式(public/protected/private) 會修改“基類成員在派生類中的訪問權(quán)限”,核心鐵律:

派生類對基類成員的訪問權(quán)限 = 「基類成員自身的訪問權(quán)限」和「繼承方式」中更嚴格的那個。

3.1 繼承權(quán)限影響表

基類成員訪問權(quán)限public繼承(最常用)protected繼承private繼承
publicpublic(不變)protectedprivate
protectedprotected(不變)protectedprivate
private不可訪問(不變)不可訪問不可訪問

3.2 單層繼承代碼示例

#include <iostream>
using namespace std;
// 基類
class Base {
public:
    int pub_val = 1;
protected:
    int pro_val = 2;
private:
    int pri_val = 3;
};
// 1. public繼承(開發(fā)中99%的場景,推薦)
class DerivedPub : public Base {
public:
    void show() {
        cout << "pub_val: " << pub_val << endl;  // ? public → public
        cout << "pro_val: " << pro_val << endl;  // ? protected → protected
        // cout << pri_val << endl;              // ? 始終不可訪問
    }
};
// 2. protected繼承
class DerivedPro : protected Base {
public:
    void show() {
        cout << "pub_val: " << pub_val << endl;  // ? public → protected
        cout << "pro_val: " << pro_val << endl;  // ? protected → protected
    }
};
// 3. private繼承
class DerivedPri : private Base {
public:
    void show() {
        cout << "pub_val: " << pub_val << endl;  // ? public → private
        cout << "pro_val: " << pro_val << endl;  // ? protected → private
    }
};
int main() {
    DerivedPub d_pub;
    cout << d_pub.pub_val << endl;  // ? public繼承后,基類public仍為public,類外可訪問
    // cout << d_pub.pro_val << endl; // ? protected,類外不可訪問
    DerivedPro d_pro;
    // cout << d_pro.pub_val << endl; // ? public繼承后變?yōu)閜rotected,類外不可訪問
    DerivedPri d_pri;
    // cout << d_pri.pub_val << endl; // ? public繼承后變?yōu)閜rivate,類外不可訪問
    return 0;
}

3.3 多層繼承的權(quán)限鏈?zhǔn)接绊?/h3>

多層繼承中,基類成員權(quán)限會隨繼承鏈“層層收緊”(僅會更嚴格,不會放寬):

#include <iostream>
using namespace std;
// 頂層基類
class A {
public:
    int pub_a = 1;
protected:
    int pro_a = 2;
};
// 第二層:B public繼承A
class B : public A {
public:
    void showB() {
        cout << "B中訪問A的pub_a:" << pub_a << endl; // ? public→public
        cout << "B中訪問A的pro_a:" << pro_a << endl; // ? protected→protected
    }
};
// 第三層:C protected繼承B
class C : protected B {
public:
    void showC() {
        // A的pub_a:A→B(public)→C(protected)→ 最終C中是protected
        cout << "C中訪問A的pub_a:" << pub_a << endl; // ? 允許(C內(nèi)可訪問protected)
        // A的pro_a:A→B(protected)→C(protected)→ 最終C中是protected
        cout << "C中訪問A的pro_a:" << pro_a << endl; // ? 允許
    }
};
// 第四層:D private繼承C
class D : private C {
public:
    void showD() {
        // A的pub_a:經(jīng)過三層繼承后變?yōu)閜rivate
        cout << "D中訪問A的pub_a:" << pub_a << endl; // ? D內(nèi)可訪問private
    }
};
int main() {
    C c;
    // cout << c.pub_a << endl; // ? C中pub_a是protected,類外不可訪問
    D d;
    // cout << d.pub_a << endl; // ? D中pub_a是private,類外不可訪問
    return 0;
}

四、特殊場景的訪問控制細節(jié)

4.1 靜態(tài)成員的訪問控制

static 僅改變成員的“存儲方式”(屬于類而非對象),訪問控制規(guī)則與普通成員完全一致

#include <iostream>
using namespace std;
class MyClass {
private:
    static int s_pri_val; // 靜態(tài)私有成員
protected:
    static int s_pro_val; // 靜態(tài)受保護成員
public:
    static int s_pub_val; // 靜態(tài)公有成員
    static void showStatic() {
        // 類內(nèi)可訪問所有靜態(tài)成員
        cout << "靜態(tài)私有:" << s_pri_val << endl;
        cout << "靜態(tài)受保護:" << s_pro_val << endl;
    }
};
// 靜態(tài)成員必須類外初始化
int MyClass::s_pri_val = 10;
int MyClass::s_pro_val = 20;
int MyClass::s_pub_val = 30;
// 派生類
class Derived : public MyClass {
public:
    static void showDerivedStatic() {
        // 派生類可訪問基類的static protected/public
        cout << "派生類訪問靜態(tài)受保護:" << s_pro_val << endl; // ?
        cout << "派生類訪問靜態(tài)公有:" << s_pub_val << endl;   // ?
        // cout << s_pri_val << endl; // ? 靜態(tài)私有仍不可訪問
    }
};
int main() {
    // 類外僅能訪問靜態(tài)公有成員
    cout << MyClass::s_pub_val << endl; // ? 30
    // cout << MyClass::s_pro_val << endl; // ? 靜態(tài)受保護,類外不可訪問
    // cout << MyClass::s_pri_val << endl; // ? 靜態(tài)私有,類外不可訪問
    Derived::showDerivedStatic(); // ? 派生類內(nèi)可訪問靜態(tài)受保護
    return 0;
}

4.2 protected 的深層細節(jié)(易踩坑)

protected 允許“子類訪問自己的基類成員”,但禁止子類訪問其他子類對象的基類 protected 成員

#include <iostream>
using namespace std;
class Base {
protected:
    int m_val = 10;
};
class DerivedA : public Base {
public:
    // 錯誤場景:DerivedA試圖訪問DerivedB對象的protected成員
    void accessDerivedB(DerivedB& b) {
        // cout << b.m_val << endl; // ? 禁止:不能訪問其他子類對象的protected
    }
    // 正確場景:訪問自己的protected成員
    void accessSelf() {
        cout << m_val << endl; // ? 允許
    }
};
class DerivedB : public Base {}; // 另一個子類
int main() {
    DerivedA a;
    DerivedB b;
    a.accessSelf(); // ? 輸出10
    // a.accessDerivedB(b); // ? 編譯報錯
    return 0;
}

五、友元:突破訪問控制的唯一機制

friend 是 C++ 中唯一能突破 private/protected 訪問限制的語法,核心是“顯式授權(quán)”——只有被類主動聲明為友元的函數(shù)/類,才能訪問其私有/受保護成員。友元按授權(quán)粒度從粗到細分為以下三種形式:

5.1 友元函數(shù)(單個函數(shù)授權(quán))

友元函數(shù)是最基礎(chǔ)的友元形式,授權(quán)單個普通函數(shù)訪問類的私有/受保護成員,適用于“僅需一個外部函數(shù)訪問類內(nèi)部數(shù)據(jù)”的場景(如運算符重載、簡單的外部工具函數(shù))。

#include <iostream>
using namespace std;
class MyClass {
private:
    int pri_val = 100;
    // 聲明友元函數(shù):僅授權(quán)showPrivate函數(shù)訪問當(dāng)前類的私有成員
    friend void showPrivate(MyClass& obj);
};
// 友元函數(shù):可以直接訪問MyClass的private成員(無需通過public接口)
void showPrivate(MyClass& obj) {
    cout << "訪問private成員: " << obj.pri_val << endl; // ? 允許
}
int main() {
    MyClass obj;
    showPrivate(obj); // 輸出:訪問private成員: 100
    return 0;
}

核心總結(jié)

  • 授權(quán)粒度:僅單個函數(shù),影響范圍最?。?/li>
  • 聲明位置:友元函數(shù)的聲明可寫在類的 public/private/protected 任意區(qū)域,效果完全一致;
  • 核心優(yōu)勢:無需為單個函數(shù)開放過多權(quán)限,兼顧封裝性和實用性。

5.2 友元類(批量授權(quán),整個類的所有成員函數(shù))

友元類是“批量授權(quán)”形式,授權(quán)另一個類的所有成員函數(shù)(無論 public/private/protected)訪問當(dāng)前類的私有/受保護成員,適用于“兩個類高度耦合且需要深度協(xié)作”的場景(如容器類和其迭代器類)。

#include <iostream>
using namespace std;
class A {
    // 聲明B為友元類:B的所有成員函數(shù)都能訪問A的私有/受保護成員
    friend class B; 
private:
    int m_val = 100;
};
class B {
public:
    // B的公有成員函數(shù):訪問A的私有成員
    void accessA(A& a) {
        cout << a.m_val << endl; // ? 允許
    }
private:
    // B的私有成員函數(shù):同樣能訪問A的私有成員(友元類的所有成員函數(shù)都有權(quán)限)
    void privateAccessA(A& a) {
        a.m_val = 200; // ? 允許修改
    }
};
int main() {
    A a;
    B b;
    b.accessA(a); // 輸出:100
    return 0;
}

核心總結(jié)

  • 授權(quán)粒度:整個類的所有成員函數(shù),授權(quán)范圍最廣;
  • 風(fēng)險提示:友元類會大幅降低封裝性,僅在確有必要時使用(優(yōu)先考慮友元函數(shù)/友元成員函數(shù));
  • 訪問規(guī)則:友元類的私有成員函數(shù)也能訪問授權(quán)類的私有成員,權(quán)限無差別。

5.3 友元成員函數(shù)(精細授權(quán),僅單個成員函數(shù))

友元成員函數(shù)是“精準(zhǔn)授權(quán)”形式,僅授權(quán)另一個類的某個特定成員函數(shù)訪問當(dāng)前類的私有/受保護成員,是兼顧“協(xié)作需求”和“封裝性”的最優(yōu)友元形式。

#include <iostream>
using namespace std;
// 前置聲明:必須先聲明A,才能在B的成員函數(shù)參數(shù)中使用A的引用
class A;
class B {
public:
    // 先聲明需要授權(quán)的成員函數(shù)(僅該函數(shù)需要訪問A的私有成員)
    void onlyThisFuncCanAccessA(A& a); 
};
class A {
    // 僅授權(quán)B類的onlyThisFuncCanAccessA成員函數(shù)訪問當(dāng)前類的私有成員
    friend void B::onlyThisFuncCanAccessA(A& a);
private:
    int m_val = 500;
};
// 實現(xiàn)授權(quán)的成員函數(shù):可直接訪問A的私有成員
void B::onlyThisFuncCanAccessA(A& a) {
    cout << a.m_val << endl; // ? 允許
}
int main() {
    A a;
    B b;
    b.onlyThisFuncCanAccessA(a); // 輸出:500
    return 0;
}

核心總結(jié)

  • 授權(quán)粒度:僅單個成員函數(shù),是最精細的友元授權(quán)方式;
  • 前置聲明:必須先聲明被授權(quán)的類(如A),再聲明其成員函數(shù),否則編譯器無法識別;
  • 最佳實踐:工程開發(fā)中優(yōu)先使用友元成員函數(shù),最小化破壞封裝性。

5.4 友元的核心特性(所有友元形式通用)

友元關(guān)系的核心規(guī)則不受授權(quán)形式影響,需牢記以下三點:

  • 單向性:若A聲明B為友元,僅B能訪問A的私有成員,A不能訪問B的私有成員(雙向授權(quán)需雙方互相聲明);
  • 不傳遞性:若A授權(quán)B,B授權(quán)C,C不能訪問A的私有成員(友元關(guān)系無法鏈?zhǔn)絺鬟f);
  • 不繼承性:若A授權(quán)B,C繼承B,C不能訪問A的私有成員(友元關(guān)系無法被子類繼承)。

六、實際開發(fā)中的應(yīng)用場景 & 反模式

6.1 核心應(yīng)用場景(最佳實踐)

關(guān)鍵字核心應(yīng)用場景示例
public對外提供的「接口」(穩(wěn)定、不輕易修改)業(yè)務(wù)方法(如 calculate())、get/set函數(shù)(如 getName()/setName()
private類的「內(nèi)部實現(xiàn)細節(jié)」(隱藏,避免外部篡改)成員變量(如 m_name)、內(nèi)部輔助函數(shù)(如 checkValid()
protected基類中需要給「派生類復(fù)用」,但不希望外部訪問的成員基類的通用屬性(如 m_id)、通用方法(如 initData()

6.2 常見反模式(嚴禁使用)

反模式1:成員變量設(shè)為 public

// 錯誤
class Student {
public:
    int m_age; // 外部可直接賦值 m_age = -5,數(shù)據(jù)完全不安全
};
// 正確
class Student {
private:
    int m_age;
public:
    void setAge(int age) {
        if (age >= 0 && age <= 120) m_age = age; // 帶校驗的寫接口
    }
    int getAge() const { return m_age; } // 只讀接口
};

反模式2:為方便將 protected 改為 public

// 錯誤
class Base {
public:
    int m_id; // 本應(yīng)給子類復(fù)用的成員,被外部隨意修改
};
// 正確
class Base {
protected:
    int m_id;
public:
    int getId() const { return m_id; } // 僅暴露只讀接口
};

反模式3:過度使用友元,破壞封裝

// 錯誤:授權(quán)多個類/函數(shù),封裝形同虛設(shè)
class A {
    friend class B;
    friend class C;
    friend void func1();
    friend void func2();
private:
    int m_data;
};
// 正確:僅授權(quán)必要的函數(shù)/類
class A {
    friend void onlyNecessaryFunc(A& a);
private:
    int m_data;
};

七、常見誤區(qū) & 避坑點

  1. 誤區(qū)1protected 是“派生類的 private”→ 派生類之間不能訪問對方的 protected 成員;
  2. 誤區(qū)2:繼承方式會修改基類自身的成員權(quán)限 → 僅修改“基類成員在派生類中的權(quán)限”,基類自身權(quán)限不變;
  3. 誤區(qū)3static 會改變訪問控制 → static private 仍僅類內(nèi)可訪問,static 不影響權(quán)限;
  4. 誤區(qū)4:訪問控制針對“對象”→ 同一類的不同對象可互相訪問 private 成員(類級別限制);
  5. 誤區(qū)5private 絕對不可訪問 → 友元是合法途徑,指針強制轉(zhuǎn)換是不規(guī)范黑科技,嚴禁使用;
  6. 誤區(qū)6struct 沒有訪問控制 → struct 只是默認權(quán)限為 public,同樣支持 private/protected

八、面試高頻考點 & 標(biāo)準(zhǔn)答案

8.1 基礎(chǔ)考點

  1. classstruct 的訪問控制默認值有什么區(qū)別?
    class 默認訪問控制是 privatestruct 默認是 public(C++ 對 C 的兼容設(shè)計,struct 保留 C 的特性);
  2. protectedprivate 的核心區(qū)別是什么?
    :核心區(qū)別在派生類的訪問權(quán)限 —— protected 允許派生類訪問,private 不允許;類外兩者都不可訪問;
  3. :public 繼承和 private 繼承的核心區(qū)別?
    :public 繼承保留基類 public 成員的公有屬性(類外可訪問),private 繼承會把基類所有可訪問成員變?yōu)?private(僅派生類內(nèi)可訪問);開發(fā)中優(yōu)先用 public 繼承;
  4. :友元是否受訪問控制限制?
    :不受,友元函數(shù)/友元類可直接訪問類的 private/protected 成員,是訪問控制的合法例外。

8.2 進階考點(結(jié)合多態(tài))

:為什么私有虛函數(shù)能被派生類重寫?

#include <iostream>
using namespace std;
class Base {
private:
    virtual void func() { cout << "Base::func" << endl; }
public:
    void callFunc() { func(); } // 公有接口調(diào)用私有虛函數(shù)
};
class Derived : public Base {
private:
    void func() override { cout << "Derived::func" << endl; }
};
int main() {
    Base* ptr = new Derived();
    ptr->callFunc(); // 輸出:Derived::func
    delete ptr;
    return 0;
}

:訪問控制(private)和多態(tài)(虛函數(shù))是兩個獨立的機制:

  • 訪問控制限制“誰能直接調(diào)用函數(shù)”;
  • 虛函數(shù)重寫限制“函數(shù)是否能被覆蓋”;
    派生類重寫私有虛函數(shù)后,基類的公有接口仍可調(diào)用重寫后的版本,這是 C++ 允許的合法設(shè)計。

九、核心總結(jié)

  1. 訪問控制的本質(zhì)是控制類成員的可見性,是編譯期語法檢查,核心為封裝性服務(wù);
  2. 基礎(chǔ)規(guī)則:public(類內(nèi)/外/派生類)、private(僅類內(nèi)+友元)、protected(類內(nèi)+派生類);
  3. 繼承中:派生類對基類成員的權(quán)限 = 「基類成員權(quán)限」和「繼承方式」中更嚴格的那個,private 成員始終不可訪問;
  4. 特殊細節(jié):同一類的不同對象可互相訪問 private 成員,protected 僅允許子類訪問自身的基類成員;
  5. 友元是唯一突破訪問控制的機制,遵循“單向、不傳遞、不繼承”,優(yōu)先用“友元成員函數(shù)”最小化授權(quán);
  6. 開發(fā)最佳實踐:public 做接口、private 藏實現(xiàn)、protected 給子類復(fù)用,嚴禁 public 成員變量和過度友元。

到此這篇關(guān)于C++ private、protected、public從入門到精通實例解析的文章就介紹到這了,更多相關(guān)C++ private、protected、public內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C++?IO設(shè)備讀寫功能實現(xiàn)詳解

    C++?IO設(shè)備讀寫功能實現(xiàn)詳解

    C++的文件IO(Input,Output)操作就是指對文件進行讀寫(輸入與輸出)的操作。輸入就是從磁盤上的文件中讀取內(nèi)容到內(nèi)存中。輸出就是將內(nèi)存中的數(shù)據(jù)內(nèi)容輸出或者說寫入到磁盤的文件中,這篇文章主要介紹了C++?IO設(shè)備讀寫功能實現(xiàn)
    2022-11-11
  • C語言如何與ARM匯編語言混合編程示例詳解

    C語言如何與ARM匯編語言混合編程示例詳解

    本文主要敘述了C與匯編語言混合編程,匯編語言指的是ARM匯編語言。本文用來幫助理解ARM嵌入式中的匯編程序,及C語言如何與匯編混合編程
    2021-10-10
  • 詳解Qt如何實現(xiàn)一鍵加載qm文件

    詳解Qt如何實現(xiàn)一鍵加載qm文件

    這篇文章主要為大家詳細介紹了Qt實現(xiàn)一鍵加載qm文件的相關(guān)方法,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以參考下
    2024-04-04
  • C語言基于回溯算法解決八皇后問題的方法

    C語言基于回溯算法解決八皇后問題的方法

    這篇文章主要介紹了C語言基于回溯算法解決八皇后問題的方法,簡單描述了八皇后問題,并結(jié)合實例形式分析了C語言使用回溯算法解決八皇后問題的相關(guān)操作技巧,需要的朋友可以參考下
    2018-06-06
  • 舉例剖析C++中引用的本質(zhì)及引用作函數(shù)參數(shù)的使用

    舉例剖析C++中引用的本質(zhì)及引用作函數(shù)參數(shù)的使用

    這篇文章主要介紹了C++中引用的本質(zhì)及引用作函數(shù)參數(shù)的使用,講解了函數(shù)返回值是引用的情況等一些難點,需要的朋友可以參考下
    2016-03-03
  • C++獲取特定進程CPU使用率的實現(xiàn)代碼

    C++獲取特定進程CPU使用率的實現(xiàn)代碼

    寫一個小程序在后臺記錄每個進程的CPU使用情況,揪出鎖屏后占用CPU的進程,于是自己寫了一個C++類CPUusage,方便地監(jiān)視不同進程的CPU占用情況。本人編程還只是個新手,如有問題請多多指教
    2019-04-04
  • C語言轉(zhuǎn)義字符詳解

    C語言轉(zhuǎn)義字符詳解

    這篇文章主要介紹了C語言轉(zhuǎn)義字符詳解,本篇文章通過簡要的案例,講解了C語言轉(zhuǎn)義字符該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • C語言實現(xiàn)散列表(哈希Hash表)實例詳解

    C語言實現(xiàn)散列表(哈希Hash表)實例詳解

    這篇文章主要介紹了C語言實現(xiàn)散列表(哈希Hash表)實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • STL常用容器詳細解析

    STL常用容器詳細解析

    這里我們不涉及容器的基本操作之類,只是要討論一下各個容器其各自的特點STL中的常用容器包括:順序性容器(vector、deque、list)、關(guān)聯(lián)容器(map、set)、容器適配器(queue、stac)
    2013-09-09
  • C++缺省參數(shù)、函數(shù)重載與引用深入解析

    C++缺省參數(shù)、函數(shù)重載與引用深入解析

    缺省參數(shù)函數(shù)重載以及引用的出現(xiàn)是為了補充C語言語法的不足以及對C語言設(shè)計不合理的地方進行優(yōu)化,引用的出現(xiàn)大大降低了我們學(xué)習(xí)C語言時相對于指針的難度,也便于我們更好的理解和使用,感興趣的朋友一起看看吧
    2024-04-04

最新評論

福海县| 凤山县| 石家庄市| 龙州县| 剑川县| 定结县| 西华县| 仪征市| 巫山县| 司法| 景德镇市| 焉耆| 古丈县| 丹阳市| 莱阳市| 平邑县| 宁强县| 同德县| 山丹县| 夏河县| 介休市| 横山县| 资中县| 旺苍县| 武夷山市| 台山市| 灌南县| 盘山县| 桑日县| 枝江市| 桃园市| 长宁县| 海林市| 都江堰市| 竹溪县| 武胜县| 靖州| 治县。| 囊谦县| 西乌珠穆沁旗| 金秀|