原创 fatal error LNK1123: 轉換到 COFF 期間失敗: 文件無效或損壞

VS2010在經歷一些更新後,建立Win32 Console Project時會出“error LNK1123” 錯誤,解決方案爲將 項目|項目屬性|配置屬性|清單工具|輸入和輸出|嵌入清單 “是”改爲“否”即可,但是沒新建一個項目都要

原创 C++ 異常安全

什麼是異常安全的代碼       一直以來,我對“異常安全”這個概念都不是太理解,今天查閱了一些資料,終於弄清楚了它的意思。       “異常安全”並不是說不能拋出異常,更不是說“非常安全的意思”,而是說即使在拋出異常的時候(如果

原创 互聯網思維

互聯網思維:不是因爲互聯網才產生,而是因爲互聯網的發展,使得這些思維得到集中的爆發。 馬雲說過:很多人一生就輸在對新生事物的看法上:第一,看不見;第二,看不起;第三,看不懂,第四,來不及。 互聯網思維裹莢“顛覆”浪潮席捲而來,從我們身邊發

原创 Copy-and-swap

爲了在自定義類裏重載一個異常安全(exception safe)的賦值操作符,創造了一個這樣的習慣用語。也叫:Create-Temporary-and-Swap。 要想寫健壯的C++代碼,異常安全非常重要。 可以給異常安全分三級: 1>

原创 inlining的裏裏外外

最近在看Effective C++,有些關於inline的摘錄下來以供大家理解。 Inline 函數通常一定被置於頭文件中,因爲大多數建置環境在編譯過程中進行inlining,而爲了講一個函數調用替換與被調用函數的本體,編譯器必須知道那個

原创 互聯網標準協議OAuth2.0簡介

OAuth(開放授權)是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網站上存儲的私密的資源(如照片,視頻,聯繫人列表),而無需將用戶名和密碼提供給第三方應用。 OAuth 允許用戶提供一個令牌,而不是用戶名和密碼來訪問他們存放在特定

原创 考慮Virtual函數以外的其他選擇

假設你正在寫一個視頻遊戲軟件,遊戲裏有各種各樣的人物,每個人物都有健康狀態,而且不同的人物可能以不同的方式計算他們的健康指數.該如何設計遊戲裏的人物,主要如何提供一個返回人物健康指數的接口.   方法一,基於虛函數的方法.   在人

原创 你的類需要複製構造函數嗎?

很多時候的答案是“不”,但有時候卻是“是” 關鍵在於複製該類的對象是否就相當於複製其數據成員和基類對象。如果不想當,就要用拷貝構造函數。 如果你的類在構造函數裏分配了資源,則可能需要一個顯式的複製構造函數來管理資源。 有析構函數的類通常

原创 明智而審慎的使用Private繼承

C++如何將Public繼承視爲Is-a。 Private繼承並意味着 Is-a 如果類之間的繼承關係是private。編譯器不會自動將一個derived對象轉換成一個base classes。 這和public繼承的情況不同。 由pri

原创 Delphi 包的設計思想及它與PAS、BPL、DCU、DLL、OXC的關係。

一、Delphi中各種文件的介紹,及其關係。 OXC: ActiveX控件。會被安裝到某一個組件包DPK中,在Imports中會創建PAS、DCU、DCR三個文件。 DLL: 動態鏈接庫文件,它的Exports exports既可以

原创 C++的多重繼承

C++的多重繼承,在一個多重繼承體系中,當出現十字繼承是,你必須對那個帶有數據的class成爲一個virtual base class,爲了這麼做,你必須令所有直接繼承自他的classes採用“virtual 繼承” 從正確的觀點看,p

原创 c++ 中Vector的用法

在c++中,vector是一個十分有用的容器,下面對這個容器做一下總結。 1 基本操作 (1)頭文件#include<vector>. (2)創建vector對象,vector<int> vec; (3)尾部插入數字:

原创 四叉樹空間索引原理及其實現

今天依然在放假中,在此將以前在學校寫的四叉樹的東西拿出來和大家分享。 四叉樹索引的基本思想是將地理空間遞歸劃分爲不同層次的樹結構。它將已知範圍的空間等分成四個相等的子空間,如此遞歸下去,直至樹的層次達到一定深度或者滿足某種要求後停止分割。

原创 C++設計模式-Builder建造者模式

作用: 將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 Builder模式和AbstractFactory模式在功能上很相似,因爲都是用來創建大的複雜的對象,它們的區別是:Builder模式強調的是一步步創建

原创 error LNK2001

c++ 無法解析的外部符號 1>p.obj : error LNK2001: 無法解析的外部符號 "public: virtual void __thiscall 解決方法: 1、在基類中虛函數定義的時候沒有定義好 virtual