C++中static的用法

在基礎筆試或面試中,這個問題經常被問到。總結來說,有三種常用的用法:函數內:這是我最先接觸到的一種用法,還記得大一的時候,王尋雨老師(本部的一個老師,名字可能寫錯)給我們講的,至今還記憶猶新。該用法就是在函數內定義的static變數,在所有的函數調用中都是用是同一個變數,常用來記錄函數調用的次數等統計資訊。類成員變數和成員函數:這個無需多說,屬於類的,而不屬於對象的變數和函數需要加上static關鍵字。檔案內:一個檔案的static全域變數主要是為了使得該變數不能被其他檔案用extern關鍵字引

C#中的API32(轉貼)

作者:劉鐵猛日期:2005-12-20關鍵字:C# .NET Win32 API著作權聲明:本文章受智慧財產權法保護,如果閣下想轉載,在轉載的時候煩勞閣下連同在下的姓名一起轉載,並向bladey@tom.com發一個Mail,我很想知道我的文章都去哪裡了.謝謝.小序        Win32 API可以直接控制Microsoft Windows的核心,因為API(Application Programming Interface)本來就是微軟留給我們直接控制Windows的介面。想玩兒嗎?呵呵,

C#操作文字檔 在行首和行尾追加文本

   起因:        有七個超過50行的SQL語句。但是不能作為預存程序放在資料庫中。這樣在寫到C#的後台邏輯中需要在每一個行追加SqlStr.Append(“  和 ");這樣兩個東西。   經過:       1.在控制台中操作,先將SQL語句複製到VS中,美化一下,將每一行都頂格,也就是保證首字母沒有空格。       2.將美化好的語句,複製到C:\Test.txt檔案中。並且在同一目錄下建立NewFile.txt檔案,用來存放新檔案。       3.控制台中寫入以下代碼:   

C#中的DllImport

大家在實際工作學習C#的時候,可能會問:為什麼我們要為一些已經存在的功能(比如Windows中的一些功能,C++中已經編寫好的一些方法)要重新編寫代碼,C#有沒有方法可以直接都用這些原本已經存在的功能呢?答案是肯定的,大家可以通過C#中的DllImport直接調用這些功能。    DllImport所在的名字空間 using System.Runtime.InteropServices;   

C#中註冊Dll的問題

我在C#下做的POS用戶端程式調用別人的一個api_com.dll程式,然後,我又使用了一個第三方的工具實現了用戶端的自動更新,現在就出現問題了,每次有新版本時,該自動更新程式總是把原來的目錄重新拷貝一份到新目錄中,這樣導致新產生的目錄中的api_com.dll沒有註冊,程式無法運行,請問,有什麼方法可以讓api_com.dll只用註冊一次(在安裝時),或者說可以將它註冊為全域的。或者,在C#中,如何寫代碼來實現dll的註冊功能??????????? ExeCommand("regsvr32

C# Invalidate() Update() Refresh()的區別

Control.Invalidate方法:使控制項的特定地區無效並向控制項發送繪製訊息。通常情況下,用Invalidate()使地區無效就可觸發該控制項的重畫了,但在一些條件下卻沒有觸發重畫.例如:private void button1_Click(object sender, EventArgs e) { textBox1.Text = "888";textBox1.Invalidate();//textBox1.Update(); // textBox1.Refresh();

[原創]絕對能夠測試你的C語言功力的幾個問題 – 參考答案

題目原帖地址:http://chimf.bloghome.cn/posts/52793.html沒有提供答案,我寫了個參考答案,希望各位批評指正! 參考答案: int x = 35; char str[10]; //問:strlen(str)和sizeof(str)的值分別是多少? //參考答案:13, 10.(在x86機器中 -- Little Endian、遞減棧、VC6.0編譯器) //首先在棧中給x分配空間,由於是Little Endian,並且棧是遞減的,x在記憶體中從高到低依次為:0

C# 動態調用DLL

 本來是想實現控制台程式運行時自動全屏,但是只找到VC下的實現方法(http://www.vckbase.com/bbs/prime/viewprime.asp?id=347)。其中要使用兩個未公開的Win32 API函數來存取控制台視窗,這就需要使用動態調用的方法,動態調用中使用的Windows API函數主要有三個,即:Loadlibrary,GetProcAddress和Freelibrary。步驟如下:1.   Loadlibrary: 裝載指定DLL動態庫2.  

c及c++的位操作及其對比

  首先,我們先瞭解一下相關的概念,我們目前的PC機上面,普遍使用的是32位機,一個整型int為4個位元組,一個char為1個位元組,一個位元組為8位,這裡的位的概念就是今天的主角,在嵌入式領域及系統軟體應用非常廣泛。c/c++是很特殊的進階語言,可以直接操作位,甚至還有位域的概念,可以為一個位元組中的位分別定義概念。使用位,有什麼好處呢,我想應該是可以節約記憶體,效能較高,作為標誌位時,意義非常清晰。在win32 API裡面的標誌位通常就是用這個來完成的,一個位元組就可以用於表示32個標誌了。

C++成員函數指標大小

今天被成員函數指標害了!平時我們當一個類的成員中有一個其他類型的成員指標時,為了減少標頭檔依賴,經常使用聲明方式class Session;而不是用#include “Session.h”而,如果不小心你用了Session的函數成員指標,如void (Session::*handler)(Packet& recvPacket);不幸的是,在運行時,和編譯時間的,sizeof將不一致,從我目前來看,編譯時間佔用了16個位元組,而,作為指標在

c++編譯器的一個關於語義的限制

臨時變數不能作為非const引用參數,不是因為他是常量,而是因為c++編譯器的一個關於語義的限制。如果一個參數是以非const引用傳入,c++編譯器就有理由認為程式員會在函數中修改這個值,並且這個被修改的引用在函數返回後要發揮作用。但如果你把一個臨時變數當作非const引用參數傳進來,由於臨時變數的特殊性,程式員並不能操作臨時變數,而且臨時變數隨時可能被釋放掉,所以,一般說來,修改一個臨時變數是毫無意義的,據此,c++編譯器加入了臨時變數不能作為非const引用的這個語義限制,意在限制這個非常規

C++ const的用法

一 、const基礎 如果const關鍵字不涉及到指標,我們很好理解,下面是涉及到指標的情況: int b = 500; const int* a = &b; [1] int const *a = &b; [2] int* const a = &b; [3] const int* const a = &b; [4] 如果你能區分出上述四種情況,那麼,恭喜你,你已經邁出了可喜的一步。不知道,也沒關係,我們可以參考《Effective

c#中使用java的BigInteger

     在c#中沒有BigInteger這個類,有時候感覺很不方便,其實在C#中是可以調用java中的的某些類的,調用的方法如下:首先添加引用vjslib(這其實是J#的類),然後我們就可以通過使用BigInteger中的類了,下面是我寫的一小段程式,實現兩個大數的相乘。using System;using System.Collections.Generic;using System.Text;using java.math;namespace BigIntegerTester{   

C#裡面的Regex的一個技巧

C#裡面的Regex的一個技巧前幾天由於某個項目中要用到Regex來從網頁代碼中擷取字串.在使用過程中,碰到一些問題.不過最終解決了.現在記下來,以供自己或你在以後參考.銘謝CSDN中幫我解決問題的nstorm(網の風)和senkiner(金龍) .現在的問題是從以下一段字串中取出其中的25,也就是取TD之間的值.<td width="17" height="12"

在C#中擷取Access資料庫中的所有表名和列名

我們經常想擷取一個資料庫中的所有表名和列名,在MS SQL中,比較方便,直接查詢sysobjects表即可擷取。但是在Access中,如何擷取呢?昨天正好有個程式要用到Access中的表,來判斷是否存在,如果不存在,則建立。 其實很簡單,我們利用.Net內建的方法即可擷取。訪問ACCESS資料庫我使用的是Oledb方式來訪問的。代碼如下: sqlConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new Object[]{null,null,null,

C#用代碼開啟軟鍵盤

前段時間研究過API,後來由於工作關係就沒有再玩C#,而別說API了。今天晚上正好加班,等其他部門出活等到淩晨一點多了,還沒有動靜。就趁機耍一耍了,正好學習一下VS2005。以前曾經見別人CSDN上面問過如何用程式開啟軟鍵盤,我也關注過,可沒有結果。在網上搜了一下也沒有能找出滿意的答案。今天就拿這個開開刀吧,反正大項目也沒有,只是一個小功能。結果沒曾想,弄出來了。也有好久沒有更新我的這一畝三分田了,就放上來了。獻給那些為中國共用軟體和提高中國程式水平作努力的人們。註:程式是在VS2005裡面,注

C#的新特性:自動屬性,對象初始化器,和集合初始化器

【原文地址】New C# "Orcas" Language Features: Automatic Properties, Object Initializers, and Collection Initializers【原文發表日期】 Thursday, March 08, 2007 11:01 PM 上個星期,我們發布了我們的Visual

C++學習隨筆之四:函數—-C++編程模組

1.函數原型:函數原型描述了函數到編譯器的介面,也即是說它將函數傳回值的類型以及參數的類型數量告訴編譯器。2.指標和const:const用法有兩種:一種是讓指標指向一個常量對象(指標所指的內容是const),另一種是將指標本身聲明為常量(指標為const)。int age =39;const int * pt = &age;int const *pt  與 const int *pt 是完全相同的。該聲明指出,pt指向一個const int(這裡是39),因此不能用pt來修改這個值,也

C++學習隨筆之十一:C++中的代碼重用

引言:C++的一個主要目的是代碼重用,提高效率,公有繼承是實現這個目的的一種機制。還有其他的機制,本部分主要介紹其他代碼重用方法,一種是包含、組合或層次化,另一種是私人或保護繼承,通常組合、私人繼承和保護繼承喲國語實現has-a關係,即新的對類將包含另一個類的對象。還有一種就是和函數模板對應的類模板。1.包含對象成員的類:包含對象的類就是這樣一種類:類中包含了這樣的一個類成員:本身是另一個類的對象。這種方法稱為包含、組合或層次化。C++和約束:C++包含讓程式員能夠限制程式結構的特性——使用ex

C++學習隨筆之三:複合類型

1.數組名其實是個地址。2.結構體訪問成員,如果是指標則採用 “->”成員操作符,如果是結構名,則採用“.”成員操作符。3.共用體(union)能夠儲存不同的資料類型,但是只能同時儲存其中的一種資料類型。就是說,結構可以同時儲存int、char和long類型,而共用體只能儲存int、char或long類型。4.指標:用於儲存地址的。指標名表示地址,*操作符稱為間接值,或解除引用操作符. int* pointer 中 int* 是個類型,是個指向int的指標(地址)。 使用new和delet

總頁數: 4314 1 .... 4166 4167 4168 4169 4170 .... 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.