• C++基礎面試題

    時間:2022-07-13 16:49:03 面試 我要投稿
    • 相關推薦

    C++基礎面試題

    1,以下代碼中的兩個sizeof用法有問題嗎?

    C++基礎面試題

    sizeof如用于數組,只能測出靜態數組的大小,無法檢測動態分配的或外部數組大小。注意:數組名作為函數參數時,退化為指針。數組名作為sizeof()參數時,數組名不退化,因為sizeof不是函數。

    請問以下代碼有什么問題

    int main()

    {

    char a;

    char *str = &a;

    strcpy(str,”hello”);

    printf(str);

    return 0;

    }

    沒有為str分配內存空間,將會發生異常

    問題出在將一個字符串復制進一個字符變量指針所指地址。雖然可以正確輸出結果,但因為越界進行內在讀寫而導致程序崩潰。

    Strcpy的在庫函數string.h中,程序的主要程序在于越辦進行內存讀寫導致程序崩潰。

    2,const char* s = “AAA”;

    Printf(“%s”,s);

    S[0] = ‘B’;

    Printf(“%s”,s);

    “AAA”是字符串常量,S是指針,指向這個字符串常量,所以聲明s的時候就有問題。

    Const char* s =”AAA”,然后又因為是常量,所以對S[0]的賦值操作是不合法的。

    3,Char szstr[10];

    Strcpy(szstr,”0123456789″);

    產生什么結果?為什么?

    正常輸出,長度不一樣,會造成非法的OS,覆蓋別的內容

    4,交換兩個變量的值,不使用第三個變量。即a=3,b=5,交換之后a=5,b=3;

    兩種解法,一種是用算術算法,一種是用^(異或)

    a = a+b;

    b = a-b;

    a = a-b;

    or

    a = a^b;//只能對int ,char

    b = a^b;

    a = a^b;

    or

    a ^= b ^=a;

    5,指出下面代碼的輸出,并解釋為什么

    main()

    {

    int a[5] = {1,2,3,4,5};

    int *ptr = (int *)(&a+1);

    printf(“%d,%d”,*(a+1),*(ptr-1));

    }

    輸出:2,5

    6,將”引用”作為函數返回值類型的格式、好處和需要遵守的規則

    格式:類型標識符 &函數名(形參列表及類型說明){//函數體}

    格式:在內存中不產生被返回值的副本:(注意:正是因為這點原因,所以返回一個局部變量的引用是不可取的。因為隨著該局部變量生存期的結束,相應的引用也會失效。)

    注意事項:

    不能返回局部變量的引用。主要原因是局部變量會在函數返回時被銷毀,因此被返回的引用就成為了”無所指的”引用,程序會進入未知狀態。

    不能返回函數內部new分配的內存的引用。雖然不存在局部變量的被動銷毀問題,可對于這種情況(返回函數內部new分配內存的引用),又面臨其它尷尬的局面。如,被函數返回的引用只是作為一個臨時變量出現,而沒有被賦予一個實際的變量,那么這個引用所指向的空間(由new分配)就無法釋放。

    可以返回類成員的引用,但最好是const。主要原因是當對象的屬性是與某種業務規則相關聯時,其賦值常常與某些其它屬性或者對象的狀態有關,因此有必要將賦值操作封裝在一個業務規則當中。如果其它對象可以獲得該屬性的非常量引用(或指針),那么對該屬性的單純賦值就會破壞業務規則的完整性。

    多態的作用:

    隱藏實現細節,使得代碼能夠模塊化;擴展代碼模塊,實現代碼重用;

    接口重用:為了類在繼承和派生的時候,保證使用家庭中任一類的實例的某一屬性時的正確調用。

    精彩文章推薦:

    【C++基礎面試題】相關文章:

    經典C/C++面試題07-11

    華為C++/MFC面試題07-11

    java 基礎面試題07-11

    華為全套面試題(基礎版)07-11

    華為全套面試題(基礎版)107-11

    華為C/C++筆試題07-11

    華為C/C++筆試題系列二07-11

    面試題與技巧07-12

    華為面試題07-11

    「MySQL」經典面試題07-11

    黄频国产免费高清视频_富二代精品短视频在线_免费一级无码婬片aa_精品9E精品视频在线观看