Time of Update: 2018-12-04
轉自:http://www.cnblogs.com/zhaos/archive/2010/12/04/1896016.html C++標準庫string類型的操作總結總結一下C++中string的操作,來自〈C++ Primer〉第四版。1. string對象的定義和初始化: 1 string s1; //空串 2 string s2(s1); //將s2初始化為s1的一個副本 3 string s3("value"); //s3初始化並賦值 4
Time of Update: 2018-12-04
64位配置的程式(Visual C++)Visual Studio 2012其他版本此主題尚未評級 - 評價此主題此節包含關於使用 Visual C++ 產生工具針對 64 位元硬體的主題。本節內容相關章節64 位元應用程式對齊(C++)有關如何在 64 位元作業系統上的 WOW64 下運行用 /clr:safe 編譯的應用程式的資訊,請參見 /clr(通用語言執行平台編譯)。/favor(針對體繫結構詳細資料最佳化)64 位元 Windows 編程指南x64 (ml64.exe)
Time of Update: 2018-12-04
1 可見範圍控制串連只針對在串連/裝載期間有地址的成員.全域變數,普通函數預設是外部串連(對其它檔案可見,預設的extern屬性)全域const變數除外,全域const變數預設是內部串連的(static屬性)全域變數是靜態儲存的static對全域變數的作用是改為內部串連(對其它檔案不可見), 對局部變數的作用是改變其儲存類型(由動態儲存裝置改為靜態儲存)2 靜態變數靜態儲存的變數第一次調用時(定義時)必須初始化對於內部類型,預設進行零初始化.
Time of Update: 2018-12-04
class ReadWriteLock{public: int m_currentLevel; int m_readCount; HANDLE m_unlockEvent; HANDLE m_accessMutex; CRITICAL_SECTION m_csStateChange;public: ReadWriteLock() { m_currentLevel = LOCK_LEVEL_NONE;
Time of Update: 2018-12-04
VA_LIST
Time of Update: 2018-12-04
#include <stdio.h>#define peach inttypedef int banana;int main(void){ unsigned peach a; unsigned banana b; return 0;}上面的代碼中,unsigned banana b;該行編譯會出現錯誤。因為typedef是一種徹底的“封裝”類型,而#define只是簡單的文本替換。再看,#include
Time of Update: 2018-12-04
本文章基於http://jesserei.blog.163.com/blog/static/121411689200983081421390/ ,稍微進行了修改通常 Linux 下的各種命令都有許多的命令列參數可以選擇,比如:gcc -g -lm foo.c -o foo getopt()就是用來分析命令列參數的函數。在繼續討論getopt 之前,先要明確兩個概念:選項(option) 和 選項參數(argument)。在上面的例子中,-g 中的 g,-o 中的 o 還有 -lm 中的 l
Time of Update: 2018-12-04
最近用C#在寫winform,之前寫java的時候在try和catch的catch中直接用日誌打出了錯誤,這樣對日誌配置好了,可以很快速找到出錯的那個語句塊,進而定位錯誤。現在用winform我在catch中用了messageBox,代碼寫過了,突然出現了個Messagebox彈出的錯誤,竟然找不到是哪個catch出錯的了。 於是趕快回來每個catch中繼續用log4net列印出來。。經過配置才看到了列印錯誤的那行。。進而定位了錯誤。 經驗:不要對catch的錯誤直接messagebox,因為這
Time of Update: 2018-12-04
1:在java中,父類A中又一個方法C,b extends A,如果想在B中對C覆蓋,那麼直接在B中定義個C就自動覆蓋了。2:如果在C#中,發現很麻煩。首先父類的方法必須virtual,子類覆蓋時候方法必須寫上ovriride、、using System;using System.Collections.Generic;using System.Text;namespace dynamicCreateClass{ class PostTask { public
Time of Update: 2018-12-04
剛剛實現了用c#來播放flash檔案,順便也實現了用c#來播放rm檔案.播放rm檔案還是要用activx控制項,在安裝realplayer後就有了.1.toolbox->滑鼠右鍵,菜單中選->Choose Items...代碼: private void Form1_Load(object sender, EventArgs e) { this.axRealAudio1.SetControls("ImageWindow,controlpanel")
Time of Update: 2018-12-04
With #pragma, C++Builder can define the directives it wants without interfering with other compilers that support #pragma. If the compiler doesn't recognize directive-name, it ignores the #pragma directive without any error or warning
Time of Update: 2018-12-04
網路代理程式程式的種類非常多,根據代理服務程式代理的協議不同,分成HTTP代理服務程式、FTP代理服務程式等,運行代理服務程式的伺服器也就稱為HTTPProxy 伺服器和FTPProxy
Time of Update: 2018-12-04
採用多線程的好處大家都很熟悉了,可以充分利用系統資源,通過合理調度最大程式上並發執行,但是如果設計不當反而會與初衷相悖,帶來更多的麻煩,本文主要就多線程編程中的“資料競爭”問題做一個歸納和總結,並給出WIN32下部分函數使用說明。 多線程編程中資料競爭是一項關鍵的技術,常用的解決方案有以下四種:臨界區、互斥量、 事件 、 訊號量 臨界區一般不推薦使用,下面主要介紹後面三種。 一、 互斥量 Mutex
Time of Update: 2018-12-05
C++從零開始(九) ——何謂結構
Time of Update: 2018-12-05
克服C語言gets函數缺陷的方法初探 一 gets函數簡介gets函數是C語言用於從stdin流中讀取字串的函數。gets函數接收使用者從鍵盤上輸入的字元直到遇到斷行符號時終止。原型是:char* gets(char *buff);舉例:#include <stdio.h>int main(){ charstr[30]; while(!str!= gets(str)); printf(“%s\n”,str); return 0;}如果讀取成功,
Time of Update: 2018-12-05
(博主按:多年編寫“C++”代碼,今天頭一次想起來還有dynamic_cast這個東西,從來沒有用過。大概在網上學了下,找到這篇不錯的文章。另外,想不起來在哪裡用dynamic_cast合適,嗯。)—————————————————以下是引用—————————————————————————————引用地址(貌似連結失效了):http://skywalkerj.spaces.live.com/blog/cns!49c467f1b758d6fc!146.entry?sa=20850098轉載的轉載
Time of Update: 2018-12-05
首先將excel.exe copy 到 ../Microsoft Visual Studio .NET 2003/SDK/v1.1/Bin目錄下利用.net 中帶的工具在命令提示字元下執行tlbimp excel.exe.這樣就不會因為你的Excel是xp或2000的不同要去找不同的*.olb檔案,還有一點就是因為在2000以後的版本中沒有了excel9.olb這個檔案了。通過執行tlbimp
Time of Update: 2018-12-05
我們在編寫應用程式的時候explicit關鍵字基本上是很少使用,它的作用是"禁止單參數建構函式"被用於自動型別轉換。class AClass{ public: explicit AClass(int i):m_i(i){ /* ... */}; // ...};AClass a(1); // okAClass b = static_cast<AClass>(2); // ok// AClass b = 2; // error// a == 3; //
Time of Update: 2018-12-05
1 源檔案hello.c(文本)--à前置處理器----àhello.i(文本) 前置處理器:將#include 包含的檔案內容插入該命令處,檢查全文處理#define宏定義,處理條件編譯命令 #if #endif 將不需要的code屏蔽掉,處理完畢後產生修改後的原始碼hello.i. 2 hello.i(文本)----à編譯器------àhello.s(組譯工具 文本) 編譯器:詞法分析文法分析,產生一條條的彙編語句如mov ax,bx,相當於是最佳化後的組合語言的源檔案。 3
Time of Update: 2018-12-05
好久沒寫過這方面的東西了,為了熟悉一下基礎知識,特寫個小程式複習一下。好多功能都是類比出來的。也沒有圖形介面,就是在視窗輸入輸出的。但功能實現都是一樣的。 主要用了三個類來實現。SeverToMultiClient 類負責伺服器端的控制類,主要用來接收用戶端請求然後轉寄的。TalkServer 類負責伺服器端的處理。TalkClient 類負責用戶端的處理。 需要先啟動 伺服器端,然後再啟動用戶端,否則會出錯。 以下為這三個類的源碼: package TCPChat;/** *