Time of Update: 2018-12-07
寫正題之前,先給出幾個關鍵字的中英文對照,重載(overload),覆蓋(override),隱藏(hide)。在早期的C++書籍中,可能翻譯的人不熟悉專業用語(也不能怪他們,他們不是搞電腦編程的,他們是英語專業的),常常把重載(overload)和覆蓋(override)搞錯! 我們先來看一些代碼及其編譯結果。 執行個體一: #include "stdafx.h" #include class CB {
Time of Update: 2018-12-07
在下列函式宣告中,為什麼要同時使用*和&符號?以及什麼場合使用這種聲明方式? void func1( MYCLASS *&pBuildingElement );
Time of Update: 2018-12-07
簡介在C#中,Dictionary提供快速的基於兼職的元素尋找。當你有很多元素的時候可以使用它。它包含在System.Collections.Generic名空間中。在使用前,你必須聲明它的鍵類型和實值型別。詳細說明必須包含名空間System.Collection.Generic Dictionary裡面的每一個元素都是一個索引值對(由二個元素組成:鍵和值) 鍵必須是唯一的,而值不需要唯一的 鍵和值都可以是任何類型(比如:string, int, 自訂類型,等等)
Time of Update: 2018-12-07
流概念 流失位元組序列的抽象概念,如檔案的操作,輸入/輸出裝置,內部進行通訊的管道等,Stream類及其衍生類別提供這些不同類型的輸入和輸出的一般視圖,這樣的程式員就不必熟悉作業系統和基礎裝置的具體細節,也可以對流進行操作。流常用的三個基本操作:1. 讀取流:操作是從流到資料結構的資料轉送2. 寫入流:該操作時從資料結構到流的資料轉送3. 流支援尋找:尋找是對流內的當前位置進行查詢與修改以上三個功能可以通過CanRead
Time of Update: 2018-12-07
由於剛進公司沒多久和同事們共同開發一個項目,回到家裡也沒沒怎麼學習,也不知道要寫點什嗎?安裝了VISTA,在有些功能上還不懂的用,今天無聊中想起了一些操作符,但是真的忘記了它是怎麼算的了。看了一下感覺感覺,本文大部分內容和例子來自於MSDN,只是為了你後好找把它弄過啦,由於我還沒有裝MSDN上線上的很慢鬱悶。 加減乘除不用講了,中國人都會;&&,!=,<,>,等也差不多經常用到,今天來看看主要的幾個二進位計算的操作符: ~
Time of Update: 2018-12-07
在前面我們講過了如何初始化D3D11Device裝置初始化等等,這裡所講的繪製圖形將在上一篇文章的項目裡進行擴充,在螢幕中繪製圖形。在3D的呈現中最小的單位為三角形,無論我們看到的是多麼大或多麼小的,都是有一個或很多個三角形通過各種方向,角度構成的,當然這會涉及到很多數學中的幾何學問題,最悲劇的就是我在大學裡卻沒學好代數以及幾何學,有學也忘記了。不過Directx
Time of Update: 2018-12-07
前面我們學習了Directx 11如何在螢幕上繪製一個圖形(三角形),其中涉及到著色器,我們只是使用了其中的方法,而沒有講解著色器是如何工作的,到底什麼是著色器等等,今天將來瞭解一下著色器到底是什麼!!!由於在Directx
Time of Update: 2018-12-07
union主要是共用記憶體,分配記憶體以其最大的結構或對象為大小,即sizeof最大的。在C/C++程式的編寫中,當多個基礎資料型別 (Elementary Data Type)或複合資料結構要佔用同一片記憶體時,我們要使用聯合體;當多種類型,多個對象,多個事物只取其一時(我們姑且通俗地稱其為“n選1”),我們也可以使用聯合體來發揮其長處。一下轉載自網站:在C/C++程式的編寫中,當多個基礎資料型別 (Elementary Data
Time of Update: 2018-12-07
在前一篇文章中我們知道了頂點著色器和像素著色器的用途,在例子中也知道了如何在3D的座標系中畫一個2D的映像,即畫一個三角形,這次我們需要知道如何在3D座標系中呈現一個3D的映像,並且瞭解一下在3D空間中幾個座標系的認識。這些在遊戲編程中都會使用到,因為每個3D物件都有自己的座標系,至於如何轉換這些座標系我想可能我們需要在下一節中進行另一番討論。學習是無止境的,貴在堅持,希望我也能夠堅持我童年時的夢想,在不久的將來實現我的遊戲夢。 3D空間認識:在前面章節中,在螢幕上繪製的2D映像三角形是以螢幕對
Time of Update: 2018-12-07
我們知道,用C++開發的時候,用來做基類的類的解構函式一般都是虛函數。可是,為什麼要這樣做呢?下面用一個小例子來說明:
Time of Update: 2018-12-07
C++箴言:絕不重定義繼承的非虛擬函數2005-11-16 08:58作者:fatalerror99出處:BLOG責任編輯:方舟 假設我告訴你 class(類)D 從 class(類)B publicly derived(公有繼承),而且在 class(類)B 中定義了一個 public member function(公有成員函數)mf。mf 的參數和傳回值類型是無關緊要的,所以我們就假設它們都是 void。換句話說,我的意思是: class B { public: void mf();
Time of Update: 2018-12-07
C++繼承中的重載、覆蓋和隱藏 寫正題之前,先給出幾個關鍵字的中英文對照,重載(overload),覆蓋(override),隱藏(hide)。在早期的C++書籍中,可能翻譯的 人不熟悉專業用語(也不能怪他們,他們不是搞電腦編程的,他們是英語專業的),常常把重載(overload)和覆蓋(override)搞錯! 我們先來看一些代碼及其編譯結果。 執行個體一: #include "stdafx.h" #include class
Time of Update: 2018-12-07
一些成員函數改變對象,一些成員函數不改變對象。例如: int Point::GetY(){ return yVal;} 這個函數被調用時,不改變Point對象,而下面的函數改變Point對象: void Point:: SetPt (int x, int y){ xVal=x; yVal=y;} 為了使成員函數的意義更加清楚,我們可在不改變對象的成員函數的函數原型中加上const說明: class Point { public: int GetX() const; int
Time of Update: 2018-12-07
通訊Server: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->#pragma comment(lib, "ws2_32.lib") #include <Winsock2.h> #include <stdio.h> void main() { //版本協商
Time of Update: 2018-12-07
引用是C++引入的新語言特性,是C++常用的一個重要內容之一,正確、靈活地使用引用,可以使程式簡潔、高效。我在工作中發現,許多人使用它僅僅是想當然,在某些微妙的場合,很容易出錯,究其原由,大多因為沒有搞清本源。故在本篇中我將對引用進行詳細討論,希望對大家更好地理解和使用引用起到拋磚引玉的作用。 引用簡介 引用就是某一變數(目標)的一個別名,對引用的操作與對變數直接操作完全一樣。 引用的聲明方法:類型標識符 &引用名=目標變數名; 【例1】:int a; int
Time of Update: 2018-12-07
百度“知道”中有人問以下代碼有什麼問題:TCHAR tmpText[50]; sprintf(tmpText,"%d,%d", a, b); TextOut(hDC, x, y,
Time of Update: 2018-12-07
ref是傳遞參數的地址,out是傳回值,兩者有一定的相同之處,不過也有不同點。使用ref前必須對變數賦值,out不用。out的函數會清空變數,即使變數已經賦值也不行,退出函數時所有out引用的變數都要賦值,ref引用的可以修改,也可以不修改。 區別可以參看下面的代碼:using System;class TestApp{ static void outTest(out int x, out int y) {//離開這個函數前,必須對x和y賦值,否則會報錯。 //y = x;
Time of Update: 2018-12-07
這幾天看了不少C#方面的知識,感覺看了之後一段時間後就忘了,特寫個備忘,免得忘了又要從頭找起. 定義:Reflection,通過它我們可以在運行時動態獲得各種資訊,如程式集、模組、類型、欄位、屬性、方法和事件 自己參考資料後寫的代碼:using System;using System.Collections.Generic;using System.Text;using System.Reflection;namespace Refelction{ class
Time of Update: 2018-12-07
在公司這幾天一直都在看程式設計模式,看完的之後感覺還是似懂非懂,但心得還是頗多,程式設計中使用的原則有一條:面向介面編程,而且在設計過程中,要保證能在可以很方便的對程式進行拓展,而且不用改動現有的程式.下面是我自己設計的一個抽象工作模式,不知道我的理解是否正確. using System;using System.Collections.Generic;using System.Text;namespace 抽象原廠模式{ class Program {
Time of Update: 2018-12-07
1. 一般型別系統C#中,變數是值還是引用僅取決於其資料類型。C#的基礎資料型別 (Elementary Data Type)都以平台無關的方式來定義。C#的預定義類型並沒有內建於語言中,而是內建於.NET