Time of Update: 2018-12-03
如何最佳化C語言代碼(程式員必讀)
Time of Update: 2018-12-03
將建構函式,解構函式聲明為私人和保護的,那麼對象如何建立?已經不能從外部調用建構函式了,但是對象必須被構造,應該如何解決,麻煩大家幫忙說明,關於構造,解構函式聲明為私人和保護時的用法???提出這個問題,說明你已經對c++有所思考了。從文法上來講,一個函數被聲明為protected或者private,那麼這個函數就不能從“外部”直接被調用了。對於protected的函數,子類的“內部”的其他函數可以調用之。而對於private的函數,只能被本類“內部”的其他函數說調用。文法上就是這麼規定的,你肯定
Time of Update: 2018-12-03
前幾天跟Yuan Ye Pair的時候發現了這個方法 1. 經典的Visitor模式(循環相依性) public interface Document { void Accept(DocumentVisitor visitor); } public class WordDocument : Document { public void Accept(DocumentVisitor visitor) {
Time of Update: 2018-12-03
組件編程不是對傳統物件導向的拋棄,相反組件編程正是物件導向編程的深化和發展。類作為物件導向的靈魂在C#語言裡有著相當廣泛深入的應用,很多非常“Sharp”的組件特性甚至都是直接由類封裝而成。對類的深度掌握自然是我們“Sharp XP”重要的一環。 類 C#的類是一種對包括資料成員,函數成員和巢狀型別進行封裝的資料結構。其中資料成員可以是常量,域。函數成員可以是方法,屬性,索引器,事件,操作符,執行個體構建器,靜態構建器,析構器。我們將在“第五講 構造器與析構器”和“第六講 域 方法
Time of Update: 2018-12-03
在C裡面,所謂 static ,只是限制在當前源檔案————這個只是對於編譯器/連結器而言。但實際上,運行時,static和普通的extern 的函數/變數,沒有區別。例如:使用函數指標/變數指標,完全可以訪問其他檔案的 static 變數/函數file01.hint * iptr01;typedef void (* funcPtr)(void);funcPtr pfun01;----------------------------file01.c#include "file01.h"stati
Time of Update: 2018-12-03
//從收錄資料庫中取出內容產生不同的rss,mycon中的資料表中至少應包括title、description、link、pubDate、author欄位 public void DB2rss(OleDbConnection mycon,string XmlFile) { XmlTextWriter objX = new XmlTextWriter(Server.MapPath(XmlFile), System.Text.Encoding.Ge
Time of Update: 2018-12-03
COM彙總作為COM實現介面複用的一種手段, 在進行多介面轉寄的時候是一種有效而快速的方法; 不過要在轉寄之後保證介面函數的語意保持一致, 必須使用一些特定的技巧, 下面的代碼就示範了COM在實現彙總時所使用的技巧:class Base{public: virtual void Output() { printf("Base::Output/n"); }}; class BaseEx{public: virtual void Print() {
Time of Update: 2018-12-03
C++多態技術的實現和反思作者:楊喜敏 孟岩 出處:程式員雜誌物件導向技術最早出現於1960年代的Simula 67系統,並且在1970年代保羅阿托實驗室開發的Smalltalk系統中發展成熟。然而對於大部分程式員來說,C++是第一個可用的物件導向程式設計語言。因此,我們關於物件導向的很多概念和思想直接來自於C++。但是,C++在實現物件導向中關鍵的多態性時,選擇了與Smalltalk完全不同的方案。其結果是,儘管在表面上兩者都實現了相似的多態性,但是在實踐中卻有著巨大的區別。具體的說,C+
Time of Update: 2018-12-03
1, 一重指標1.1 作函數參數用可以傳入,也可以傳出1.2 作函數傳回值用2. 二重指標2.1 做二維資料使用比如存一篇文章(多少行,多少列)主要是儲存兩級資料2.2 做函數參數可以用來分配記憶體,然後記錄在參數指向的位置.#include <stdio.h>#include <string.h>//作為記錄指標的更改使用, 比如分配記憶體 int ialloc (char **p, int size){*p = (char *)malloc(size);if (*p
Time of Update: 2018-12-03
標籤一般放在函數的尾部, 它會被執行, 很多標籤的時候, 標籤是按照從上到下的順序執行的.goto可以讓代碼主動的跳轉到標籤定義的代碼處繼續執行.#include <stdio.h>int main(){int i, j;for ( i = 0; i < 10; i++ ){printf( "Outer loop executing. i = %d\n", i );for ( j = 0; j < 3; j++ ){printf( " Inner loop
Time of Update: 2018-12-03
/****************************************************************************************** 鍵盤3*4掃描程式 入口參數: 出口參數: 鍵碼:ee de be,7e,ed,dd,bd,7d,eb,db,bb,7b 0 1 2 3 4 5 6 7 8 9 a b **************************************************
Time of Update: 2018-12-03
#include <reg51.h>sbit BT_SND =P1^0;sbit BT_REC =P1^1;/********************************************** IO 口類比232通訊程式 使用兩種方式的C程式 佔用定時器0 **********************************************/ #define MODE_QUICK #define F_TM F0 #define
Time of Update: 2018-12-03
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Net.Mail;u
Time of Update: 2018-12-03
/// <summary> /// 壓縮檔 /// </summary> /// <param name="patch">被壓縮檔或其所在目錄</param> /// <param name="rarPatch">壓縮後檔案存放目錄</param> /// <param
Time of Update: 2018-12-03
Time of Update: 2018-12-03
除了模式,上周日我和sunway還談到了C++的問題——結果周二就看到Linus Torvalds就C++的話題跟人吵架,引發了國內C++圈裡的大討論——孟岩版,雲風版,劉未鵬版。我也來扯一篇吧,不過層次肯定比這幫職業C++高手差多了。雲 風最近一次從C++回到C我是知道的,還曾經因為C是不是需要提供GC的問題跟他有過討論。那天sunway跟我討論的主要觀點跟雲風及Torvalds
Time of Update: 2018-12-03
1,不徹底的abstract即使是abstract class,也不能對實現的介面的某個成員視而不見,即下面這樣是不允許的:interface in_one{ void A();}abstract class base_one : in_one{
Time of Update: 2018-12-03
1,typedef不必要?a,typedef提供了一層間接,物件導向語言中,介面掩蓋了運行時不同具體類型間的差別,而typedef掩蓋了編譯時間不同類型間的差別,卻又不喪失型別安全b,一般語言只能返回“值”,而typedef提供了返回“類型”的能力,這是模板元編程不可或缺的機制,除非模板元編程眼下也是不必要的2,匯入在不同地點分別對#include,private成員放在標頭檔中,inline函數也放在標頭檔中進行了批判,實際上原因只有一個:C++不是平台,它沒有二進位標準,它編譯後成為本地代碼
Time of Update: 2018-12-03
三軍未動,資料先行。書山碟海,只列其中最好的。統統都可以emule找到。1.快速入門 〈Accelerated.C++〉2000 〈Essential C++〉2002 Lipman 兩本都是開篇就講C++/STL,絕口不提C,而且都有中文版。2.枕頭參考 〈C++.Primer.4th〉2005 Lippman,第3版有中文版,當入門書看也無不可。 〈The.C++.Programming.Language.3rd〉Bjarne Stroustrup ,簡稱TCPL。3.
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 原型模式本質上說就是對當前資料進行複製。就像變戲法一樣,一個鴿子變成了兩個鴿子,兩個鴿子變成了三個鴿子,就這麼一直變下去。在變的過程中,我們不需要考慮具體的資料類型。為什麼呢?因為不同的資料有自己的複製類型,而且每個複製函數都是虛函數。 用C++怎麼編寫呢,那就是先寫一個基類,再編寫一個子類。就是這麼簡單。class data{public: data () {}