Time of Update: 2018-12-03
在一般情況下,來源程式的所有程式行都會參加編譯,以產生目標代碼。但在某些特殊情況下,也許只希望對部分滿足條件的程式行進行編譯,這就是條件編譯。 程式員可在偵錯工具中增加一些調試語句,以達到跟蹤的目的。當程式調試好後,再利用條件編譯重新編譯,使調試語句不參與編譯,以產生高效的代碼。 常用的條件編譯命令有如下三種格式: 1.格式一 #ifdef <標識符> 程式段1 #else 程式段2
Time of Update: 2018-12-03
下面對於C++中方法中參數聲明以及定義中的參數賦值為0調用問題,在實際的工作中遇到,便進行了相關的示範處理。如下查看紅色部分的差異。/////////////////////////////////////////////////////////#include <iostream>using namespace std;class T1{public: T1(){} virtual ~T1 () {}public:
Time of Update: 2018-12-03
Terminology(術語)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/這是一個所有程式員都應該瞭解的小型的 C++ vocabulary(詞彙表)。下面的術語都足夠重要,對它們的含義取得完全一致對於我們來說是完全必要的。declaration(聲明)告訴編譯器關於某物的 name(名字)和 type(類型),但它省略了某些細節。以下這些都是 declaration(
Time of Update: 2018-12-03
方法一:SYSTEMTIME st;GetLocalTime(&st);方法二:// asdfasdf.cpp : 定義控制台應用程式的進入點。//#include "stdafx.h"#include <Windows.h>#include <iostream>#include <time.h>#include <locale.h>int _tmain(int argc, _TCHAR* argv[]){time_t
Time of Update: 2018-12-03
我們在用C#開發程式時可能想開啟我們程式以外的程式或者檔案,比如說按下按鈕播放一段音樂,那我們就可以使用下面的程式碼片段實現 private void btPlayMusic_Click(object sender, EventArgs e) { System.Diagnostics.Process process = new System.Diagnostics.Process(); string browserPath
Time of Update: 2018-12-03
先來建立一個最簡單的視窗。建立一個空項目,然後往項目中添加一個代碼檔案,輸入下面代碼:using System.Windows.Forms;class Program{ static void Main() { Application.Run(new Form());
Time of Update: 2018-12-03
一個應用按鈕控制項的程式,包括按鈕的建立,事件處理。範例程式碼如下:(單擊按鈕時,會彈出一個訊息提示框)using System.Windows.Forms;using System;class Form1 : Form{ private Button button1;//定義一個按鈕變數button1 public Form1() { InitializeComponent(); } public void InitializeComponent()
Time of Update: 2018-12-03
在研究函數指標時發現一些問題,貼出來與大家共用。例如定義個函數指標://定義指標void (*pFunc)();//執行個體一個無參函數void printing(){//do something}pFunc =
Time of Update: 2018-12-03
1. _cdecl (1). 是C Declaration的縮寫,表示C語言預設的函數調用方法,實際上也是C++的預設的函數調用方法。 (2). 所有參數從右至左依次入棧,這些參數由調用者清除,稱為手動清棧。具體所示:調用方的函數調用->被調用函數的執行->被調用函數的結果返回->調用方清除調整堆棧。 (3).
Time of Update: 2018-12-03
1.非引用形參包括普通對象形參和指標對象形參這類形參都是在調用函數時,在棧中臨時分配一個局部副本,然後初始化,即複製實參傳遞的資料。調用函數並沒有訪問實參傳遞值本身,也因此不會修改實參傳遞的數值,即函數對這類形參所做的操作和改動僅僅是改變了局部副本的值,不會影響到實參傳遞的資料本身。非引用形參表示對應實參的局部副本,同時也意味著都需要開銷,不同的是指標形參所花的時間開銷和儲存開銷基本是固定而且很小,而普通非指標對象的開銷則需要根據對象具體大小來定。一旦函數執行結束,這些局部變數的值也就沒有了。注
Time of Update: 2018-12-03
轉:http://www.xxlinux.com/linux/dev/c/2007-10-05/10060.html自己比較懶,網上找到不錯的總結,其實我只學習了c代碼的部分。在編程的過程中,檔案的操作是一個經常用到的問題,在C++Builder中,可以使用多種方法對檔案操作,下面我就按以下幾個部分對此作詳細介紹,就是:1、基於C的檔案操作;2、基於C++的檔案操作;3、基於WINAPI的檔案操作;4、基於BCB庫的檔案操作;5、特殊檔案的操作。這次我首先寫出第一篇,以後我會陸續寫出其它部分在我
Time of Update: 2018-12-03
一.C語言基礎資料型別 (Elementary Data Type): c語言中 char, int, float, double, signed, unsigned, long, short and void// java 中的8大本資料類型和他們的長度 // byte 1 char 2 short 2 int 4 long 8 double 8 float 4 boolean 1// 在c99標準的c語言.沒有 byte 類型 沒有boolean 類型// 在c語言裡面 0表示的是假
Time of Update: 2018-12-03
Item 28: 避免返回 object 內部構件的 "handles"(“控制代碼”)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/假設你正在一個與矩形有關的應用程式上工作。每一個矩形都可以用它的左上方和右下角表示出來。為了將一個 Rectangle object 保持在較小狀態,你可能決定定義 Rectangle 地區的那些點不應該儲存在 Rectangle
Time of Update: 2018-12-03
Google 開源了很多優秀的 C++ 程式庫,本文介紹如何將其中幾個整合到一起。本文涉及的 Google 庫有:gflags - 命令列參數解析。可以完全用命令列來配置應用程式,省去設定檔。 gtest - C++ 單元測試架構 gmock - C++ 單元測試中用到的 mock glog - 日誌庫 protobuf - 高效的網路通訊協定格式 還有第三方的 libunwind 和
Time of Update: 2018-12-03
(點擊此處,接上篇)那麼該怎麼做呢?我們依然需要一個方法,既使其他人能調用 swap,又能讓我們得到更高效的 template-specific(模板專用)版本。答案很簡單。我們依然聲明一個 non-member(非成員)swap 來調用 member(成員)swap,只是不再將那個 non-member(非成員)聲明為 std::swap 的 specialization(特化)或 overloading(重載)。例如,如果我們的 Widget-related(Widget 相關)機能都在
Time of Update: 2018-12-03
Preface(前言)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/我在 1991 年寫出了 Effective C++ 的最早版本,1997 年出了第二版,我更新了一些重要的方面的素材,但是,因為我不想使熟悉本書第一版的讀者感到困惑,我盡最大可能保持了原有的結構。最早的 50 個 Item 標題中的 48
Time of Update: 2018-12-03
Item 25: 考慮支援一個 non-throwing swap(不拋異常的 swap)作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/swap 是一個有趣的函數。最早作為 STL 的構件被引入,後來它成為 exception-safe programming(異常安全編程)的支柱(參見 Item 29)和壓制自賦值可能性的通用機制(參見 Item 11)。因為
Time of Update: 2018-12-03
Item 33: 避免覆蓋(hiding)“通過繼承得到的名字”作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/莎士比亞有一個關於名字的說法。"What's in a name?" 他問道,"A rose by any other name would smell as
Time of Update: 2018-12-03
Item 32: 確保 public inheritance 類比 "is-a"作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/在 Some Must Watch While Some Must Sleep (W. H. Freeman and Company, 1974) 這本書中,William Dement
Time of Update: 2018-12-03
Item 35: 考慮可選的 virtual functions(虛擬函數)的替代方法作者:Scott Meyers譯者:fatalerror99 (iTePub's Nirvana)發布:http://blog.csdn.net/fatalerror99/現在你工作在一個視頻遊戲上,你在遊戲中為角色設計了一個 hierarchy(繼承體系)。你的遊戲中有著變化多端的惡劣環境,角色被傷害或者其它的健康狀態降低的情況並不罕見。因此你決定提供一個 member