C++面試題總結

 內容摘要:1.static有什麼用途?(請至少說明兩種)    1)在函數體,一個被聲明為靜態變數在這一函數被調用過程中維持其值不變。    2) 在模組內(但在函數體外),一個被聲明為靜態變數可以被模組內所用函數訪問,但不能被模組外其它函數訪問。它是一個本地的全域變數。    3) 在模組內,一個被聲明為靜態函數只可被這一模組內的其它函數調用。那就是,這個函數被限制在聲明它的模組的本地範圍內使用2.引用與指標有什麼區別?    1) 引用必須被初始化,指標不必。    2)

C++面試題(2)

1.輸入一個n ,然後在螢幕上列印出NxN 的矩陣! 例如,輸入一個3,則 1 2 3 8 9 4 7 6 5 輸入一個4,則 1   2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 解:#include <iostream> #include<iomanip> using namespace std;int temp,m[30][30]={0,}; void Helix(int min,int max) {      for(int

c++試題(30)

今天早上的面試題9道,比較難,向牛人請教,國內的一牛公司,坐落在北京北四環某大廈:1、線形表a、b為兩個有序升序的線形表,編寫一程式,使兩個有序線形表合并成一個有序升序線形表h;解:用歸併排序//歸併操作(merge),也叫歸併演算法,指的是將兩個已經排序的序列合并成一個序列的操作。 //歸併操作的工作原理如下: //申請空間,使其大小為兩個已經排序序列之和,該空間用來存放合并後的序列 //設定兩個指標,最初位置為別為兩個已經排序序列的起始位置

C++的指標與引用-摘自《高品質C++編程》

引用是C++中的概念,初學者容易把引用和指標混淆一起。一下程式中,n 是m 的一個引用(reference),m 是被引用物(referent)。int m;int &n = m;n 相當於m 的別名(綽號),對n 的任何操作就是對m 的操作。例如有人名叫王小毛,他的綽號是“三毛”。說“三毛”怎麼怎麼的,其實就是對王小毛說三道四。所以n 既不是m 的拷貝,也不是指向m 的指標,其實n 就是m 它自己。引用的一些規則如下:(1)引用被建立的同時必須被初始化(指標則可以在任何時候被初始化)。

再論C++中介面與實現分離的技術

    我在今年2月份寫了篇《C++中介面與實現分離的技術》的文章,用一個很簡單的例子說明了在C++中介面與實現分離的好處及實現方法。很榮幸,這篇文章被推薦到了CSDN的首頁並被多家網站轉載。    可是當時寫那篇文章的時候,沒有考慮到類與類之間的繼承關係。下面我就來具體的談談這個方面。    還是以上面提到的那篇文章中的例子來說明。    執行類:    lxImplement.h檔案內容:#include "lxTest.h"class ClxImplement  {public:    C

c++試題(19)

給定兩個正整數m,n(m>=n!),將m拆成n個數相加:m=a(1)+a(2)+...+a(n),使之滿足:a(1)<a(2)<...<a(n);編成列出所有的拆法.例如:若m=7,n=3則只有一種拆法:7=1+2+4  分析:int  

C++中重載決議與可訪問性檢查的順序

    對於如下的類:class ClxECS{public:    double Test(double dValue) { return dValue * 13; };private:    int Test(int iValue) { return iValue * 13; };};   

c++試題(18)

上地理課時,四個學生回答我國四大淡水湖的大小時說:        甲:洞庭湖最大,洪澤湖最小,鄱陽湖第三。          乙:洪澤湖最大,洞庭湖最小,鄱陽湖第二,太湖第三        丙:鄱陽湖最小,洞庭湖第三。        丁:鄱陽湖最大,太湖最小,洪澤湖第二,洞庭湖第三。對於每個湖的大小,每人僅答對了一個。請判斷四個湖的大小。請寫出分析思路和代碼。這是老師的問題,因為時間緊,我也在做,同時請教最好的設計思路! //   a,b,c,d   =  

微軟C/C++/C#編譯器命令列模式設定和用法

微軟C/C++/C#編譯器命令列模式設定和用法    和在IDE中編譯相比,命令列模式編譯速度更快,並可以避免被IDE產生的一些附加資訊 所幹擾。本文將介紹微軟C/C++/C#編譯器命令列模式設定和用法。作業系統為Windows   2000 。      一.微軟C/C++編譯器命令列模式設定    方法一    1.參照如下內容(根據你的系統情況,作出相應修改),編寫一個批次檔, 假定命名為vs.bat。       @echo off       set

C++中介面與實現分離的技術

    在用C++寫要匯出類的庫時,我們經常只想暴露介面,而隱藏類的實現細節。也就是說我們提供的標頭檔裡只提供要暴露的公用成員函數的聲明,類的其他所有資訊都不會在這個標頭檔裡面顯示出來。這個時候就要用到介面與實現分離的技術。    下面用一個最簡單的例子來說明。    類ClxExp是我們要匯出的類,其中有一個私人成員變數是ClxTest類的對象,各個檔案內容如下:    lxTest.h檔案內容:class ClxTest  {public:    ClxTest();    virtual 

有關C++解構函式的異常(Exceptions in Destructors)

        今天修複了一個系統的bug,原因在於解構函式中拋出了異常,而且該異常未被捕獲,從而導致程式的終止。我想很多做c++開發的人都知道,最好不要在解構函式裡拋出異常。我查了一下 c++ programming language,書上是這樣說的 :通常情況下,解構函式在一下兩種情況下會被調用:1. 正常調用:                1).  局部變數離開作用範圍後,解構函式被調用                2).  調用delete,解構函式被調用2.

C++基礎:智能指標auto_ptr

   C++智能指C++技巧(標準auto_ptr智能指標機制   很多人聽說過標準auto_ptr智能指標機制,但並不是每個人都天天使用它。這真是個遺憾,因為auto_ptr優雅地解決了C++設計和編碼中常見的問題,正確地使用它可以產生健壯的代碼。本文闡述了如何正確運用auto_ptr來讓你的代碼更加安全——以及如何避免對auto_ptr危險但常見的誤用,這些誤用會引發間斷性發作、難以診斷的bug。   為什麼稱它為“自動”指標?   auto_ptr只是眾多可能的智能指標之一。許多商業庫提供

C基礎:strcat,strcmp,memcpy,strcpy等函數的實現

strcat,strcmp,memcpy,strcpy等函數的實現作者: frankzfz  時間: 2010-08-201、Strcat函數原型如下char *strcat(char *strDest,const char *strScr) //將源字串加const,表明其為輸入參數{       char * address= strDest; //該語句若放在assert之後,編譯出錯       assert((strDest != NULL) &&(strScr !=

C++基礎:資料檔案操作

c++的檔案流處理其實很簡單,前提是你能夠理解它。檔案流本質是利用了一個buffer中介層。有點類似標準輸出和標準輸入一樣。c++ IO的設計保證IO效率,同時又兼顧封裝性和易用性。本文將會講述c++檔案流的用法。有錯誤和疏漏的地方,歡迎批評指證。需要包含的標頭檔: <fstream>名字空間: std也可以試用<fstream.h>fstream提供了三個類,用來實現c++對檔案的操作。(檔案的建立,讀寫)。  ifstream       -- 從已有的檔案讀 

C/C++基礎:函數的呼叫慣例

C/C++函數呼叫慣例與函數名稱修飾規則探討   使用C/C++語言開發軟體的程式員經常碰到這樣的問題:有時候是程式編譯沒有問題,但是連結的時候總是報告函數不存在(經典的LNK2001錯誤),有時候是程式編譯和連結都沒有錯誤,但是只要調用庫中的函數就會出現堆棧異常。這些現象通常是出現在C和C++的代碼混合使用的情況下或

C++基礎:模板函數和模板類

自從OO(Object-Oriented)出現之後,隨著思想模型的逐步確立和SE開發的需要,泛型程式設計開始並逐漸成為一種重要的編碼手段。使用泛型的好處是,可以將來源程式的具體行為和具體的類型無關,最終的類型確定要到最後階段的綁定。這有點像類中的多態。而模板是泛型程式設計的基礎,很難想象沒有模板的泛型會成為啥樣子。本文旨在協助你瞭解熟悉並掌握如何編寫自己簡單的模板函數和模板類1.模板是什麼其實,如過你本身對C++沒有什麼瞭解,我很難告訴你什麼是模板……  模板在語言中的意思大致是“生產一類具有相

C++基礎:動態連結程式庫調用方法總結

雖說在08年就學習了靜態庫,動態連結程式庫的使用方法,但是在最近的工作中才發現,動態連結程式庫的動態調用(也叫顯式調用)我是可以運用了,但是靜態調用(也叫隱式調用)我其實還是沒有掌握,這次就借這個機會把動態庫的兩種用法再熟悉一下。(一)先回顧一下,動態連結程式庫和靜態連結庫 靜態連結庫:lib中的函數不僅被串連,全部實現都被直接包含在最終產生的EXE檔案中,只是實現是不可見的。動態連結程式庫:dll不必被包含在最終的EXE中,靜態調用時僅把函數名或者變數名或者類名連結到EXE檔案中,而這些東西的

C++下基於COM的XML格式字串解析,產生

現在,XML格式字串廣泛應用於各種資訊的互動。不論你是做網路開發,還是傳統型應用程式開發,甚至是遊戲開發,都會不可避免的碰到XML格式的字串,今天這篇文章來介紹一下在C++語言下,基於COM的XML字串的解析與產生。首先這裡要明確兩個基本概念,一個是COM,一個是XML格式。先來說COM,COM的全稱是Component Object

C++應用:用檔案對應(File Mapping)實現進程間記憶體共用

 我們知道,在Windows中的每個進程都有自己獨立的記憶體空間。該獨立的記憶體空間包含了所有的可執行模組或DLL模組的代碼和資料以及動態記憶體分配的空間。每個進程的記憶體空間只能被該進程訪問,其他進程是不能訪問的。    如果我們要想在進程間共用記憶體(也就是建立一塊不同進程都能訪問的記憶體),那就必須使用核心對象。因為核心對象由Windows系統核心所擁有,而不是由進程所擁有。    下面就用檔案對應(File Mapping)和互斥量(Mutex)兩中核心對象來實現簡單的進程間記憶體共用。

C#基礎:C#本質論1章要點

註:由於C#和C++在很多地方相近,這裡只記錄C#和C++不同,需要注意的地方。1.關鍵字

總頁數: 4314 1 .... 1710 1711 1712 1713 1714 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.