亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

趣味 C++ 進階

難度初級
時長 8小時 0分
學習人數
綜合評分9.60
10人評價 查看評價
10.0 內容實用
8.8 簡潔易懂
10.0 邏輯清晰
  • 求一個負數的二進制:

    首先,找到其正數二進制表達形式;

    然后,對最高位取1,獲得原碼;

    其次,除最高位(符號位)不變外,其余位取反,獲得反碼;

    最后,在反碼的基礎上加1,獲得補碼,也就是計算機對該負數的二進制表達。


    計算機用補碼表示負數,可以同正數一樣對其進行加法操作。

    查看全部
  • RAII(resource acquisition is initialization)


    class A

    {

    ? ? ? ? ?A();//創建資源

    ? ? ? ? ?void fun();//操作資源

    ? ? ? ?~A();//釋放資源

    };

    查看全部
    0 采集 收起 來源:動態內存管理

    2023-10-09

  • 淺拷貝

    深拷貝

    查看全部
  • 引用

    與指針類似,相當于指針plus版

    int &ra=a;

    類中對象用指針需要用"->"來操作

    A *pa=&a;

    pa->data=20;

    類中對象用引用時用"."來操作

    A &ra=a;

    ra.data=20;

    二者其他區別:

    引用必須有初始化值,指針可以賦值為nullptr

    引用不可以二次賦值,指針則可以

    查看全部
  • A.B則A為對象或者結構體; 點號(.):左邊必須為實體

    A->B則A為指針,->是成員提取,A->B是提取A中的成員B,A只能是指向類、結構、聯合的指針; 箭頭(->):左邊必須為指針;


    編聯

    將一個指針的類型做成強轉,然后調用 func 函數,func 函數會隨著被強轉的類型的變換而變換,這種函數的關聯過程稱為編聯。

    靜態編聯

    在編譯階段就將函數實現和函數調用關聯起來,因此靜態聯編也叫早綁定

    動態編聯

    在程序運行時動態地進行,根據當時的情況來確定調用哪個同名函數

    查看全部
  • 子類和父類相互轉換


    Staff * staff = coder; // 子類轉父類隱式轉換就可以
    Coder * coder = (Coder *)staff; // 父類轉子類必須顯式轉換

    查看全部
  • 分部門的方式:多態公有繼承

    子類中使用 public 修飾符,那么父類中的成員函數和成員變量將會保持父類的權限。這種是使用最廣泛的繼承方式,我們把它叫做公有繼承。

    查看全部
  • 類的繼承

    類,就像是對某一類事物的抽象模版,而在某些場景下,我們希望對抽象的內容進行擴增,或者說更加具體化。為了完成這種關系,便是繼承。

    class Coder : public Staff
    {

    };

    查看全部
  • 不可重載的運算符:

    .
    .* ->*
    ::
    sizeof
    ?:
    #

    查看全部
    0 采集 收起 來源:運算符重載

    2023-10-07

  • 拷貝構造函數

    Staff(const staff? &staff);


    memcpy(mem,staff.mem,20);

    是C和C++使用的內存拷貝函數,函數原型為void *memcpy(void *destin, void *source, unsigned n);函數的功能是從源內存地址的起始位置開始拷貝若干個字節到目標內存地址中,即從源source中拷貝n個字節到目標destin中。

    查看全部
  • 聲明函數指針

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? int(*funcP)(int a,int b)

    指針指向函數

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??int(*funcP)(int a,int b)=func1;

    通過指針調用函數

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(*funcP)(5);

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?int ret=(*funcP)(5);帶返回值


    函數中傳入函數

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?int dowork(int a,int b,int (*callback)())

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?{

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ......

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? int ret=(*callback)();??

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?}

    回調函數/鉤子函數 :應用到函數中插入代碼/多線程中

    查看全部
  • 指針聲名

    指針運算

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 地址? * > 內存

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 地址? ?&<內存

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? int*p=&a;? //變量A的地址賦值給指針P,P指向變量A

    指針和數組

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? int*p=arr;(數組變量名)

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p+1(實際上是地址+類型大小)

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p[1]=>*(p+1)指針偏移操作

    指針和結構體

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? struct S *p=&s;

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->a=12;

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? p->b=22;

    查看全部
  • 大端字節序(big endian):高位在前。在IO和網絡傳輸方面采用方式,大端字節序又被稱之為網絡細節序

    小端字節序(little endian):低位在前。大部分機器采用小端字節序

    查看全部
  • 7

    0111

    1111原碼

    1000反碼

    1001補碼

    查看全部
  • #include <stdio.h>
    #include <stdlib.h>
    int * func()
    {
    ??? int * arr = (int *)malloc(4 * sizeof(int));
    ??? return arr;
    }
    int main(int argc,char **argv)
    {
    ??? int * p = func();
    ??? free(p);
    ??? return 0;
    }
    查看全部

舉報

0/150
提交
取消
課程須知
你需要具備基礎的 C++ 語法知識,在學習本課程之前,建議先學習《趣味 C++ 入門》,快速認識 C++,熟悉 C++ 基本語法,更加快速入手進階課程!
老師告訴你能學到什么?
在本門課程中,你將學習到:計算機存儲數據的原理、指針的進階、面向對象編程、內存管理技巧等 C++ 高級語法。在課程的最后,將帶領大家使用 C++ 編寫一個五子棋游戲,通過實踐,加深理解,鞏固學習成果。

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!