原创 C++ 九陰真經之命令控制模式

 所謂命令控制模式,就是對應的行爲進行封裝,通過命令就能控制,你可以理解爲linux下指令操作。      比如一個操作包括,A1、A2、.....A10這10步操作,如果某一步失敗,那麼就進行倒回,如果這10個操作的業務類型各不相同,並

原创 C++ 九陰真經之單例模式

C++ 九陰真經之單例模式 單例類在日常開發中是非常常見的,用於管理一些配置數據及資源,提供全局訪問。 通過單例模式, 可以做到: 確保一個類只有一個實例被建立 提供了一個對對象的全局訪問指針 在不影響單例類的客戶端的情況下允許將來有多個

原创 C++ 不定參宏展開

一、通過不定參宏進行日誌輸出 #define LOGINFO(fmt,...) printf("[%s][%s]", __FUNCTION__, GETINFO(fmt, __VA_ARGS__))    通過參數  __VA_ARGS

原创 C++ 九陰真經之動態創建

動態創建對很多人來說,都不陌生,在一些大型項目中是比較常見的,也是MFC的核心機制,隨着C++新標準的演化,很多東西都可以很簡單的就實現。 實現代碼: #include <vector> #include <functional> #i

原创 C++ 九陰真經之任意值

any是一個可用於任何類型單個值的類型安全的容器,目前已收錄到C++17標準庫,但對於一些歷史 項目,可能並沒有使用最新編譯器,那麼可以自己簡單的實現。 代碼實現: #include <assert.h> #include <typei

原创 C++ 基礎類型萬能轉換器

你可能還在使用atoi、atof、itoa等函數進行類型轉換,趕緊看過來,用一個函數,解決所有支持io流類型的轉換。 //基礎類型轉換 template<typename OUT,typename IN, typename std::e

原创 C++ 支持宏重載效果

C++宏默認是不支持重載的,但可以通過特殊方法讓宏支持重載。 可能你要問,支持宏重載有什麼用處,那麼,就以實例來嘗試宏的重載。 爲了要實現類的動態創建,我還想構建類的繼承關係圖,爲了簡化註冊,所以我需要用宏來簡化註冊。 我需要以下宏來支持

原创 C++ 九陰真經之控制反轉 Ioc

 控制反轉(Inversion of Control,縮寫爲IoC),是面向對象編程中的一種設計原則,可以用來減低計算機代碼之間的耦合度。其中最常見的方式叫做依賴注入(Dependency Injection,簡稱DI),還有一種方式叫“

原创 C++ 九陰真經之線程安全單例類

C++ 九陰真經之線程安全單例類 與之前的單例類似,但普通的單例類是非線程安全的,就是是你不能有些線程讀,有些線程寫,一般來說,要安全訪問單例,就需要用戶自己加載來控制對單例的訪問。 日常開發中經常會需要加載配置數據,我希望程序運行過程中

原创 C++ 之九陰真經系列

C++ 之九陰真經系列 很久沒整理文檔了,趁着近期比較空閒就想着整理一下,有些代碼是很久以前寫的,也有些是平時開發中遇到的一些不方便,也趁機把想要實現的一些模型一併實現了,整理過程中還是獲益良多,所謂溫故而知新吧。 本系列文檔主要爲一些C

原创 css實現無圖片三角形垂直導航條

效果如下: 前臺代碼:    <div id="Men">            <a href ="addnewbooks.aspx" target="_blank"><span class="left"></span>增加新書<sp

原创 續——datalist嵌套方法二

前臺代碼 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="datalist嵌套.aspx.cs" Inherits="datalist嵌套" %> <!DOCTYPE htm

原创 VC中調用matlab函數

VC中調用matlab函數 Visual C++是當前主流的應用程序開發環境之一,開發環境強大,開發的程序執行速度快。但在科學計算方面函數庫顯得不夠豐富、讀取、顯示數據圖形不方便。Matlab是一款將數值分析、矩陣計算、信號處理和圖

原创 javascript在網頁中的運用

  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC

原创 datalist實現分頁

分頁效果如下:   後臺代碼:code  C# 一 、申明全局變量:  public static int startIndex =0;      //起始頁    public static  int pagesize =8;