原创 lpctstr lpcwstr

#ifdef UNICODE #define LPCTSTR LPCWSTR #else #define LPCTSTR LPCSTR #endif        LPCTSTR A 32-bit pointer to a

原创 windows 搜索文件

void SearchFile(CString strPath)  {   TCHAR szFind[MAX_PATH] = {0};   TCHAR szFile[MAX_PATH] = {0};   WIN32_FIND_DATA

原创 c++ traits技術

Traits技術可以用來獲得一個 類型 的相關信息的。 首先假如有以下一個泛型的迭代器類,其中類型參數 T 爲迭代器所指向的類型: template <typename T>class myIterator {  ... }; 當我們使用

原创 non-trivial destructor 和 trivial destructor

trivial理解爲無用的,無意義的; non-trivial自然就是有實際意義的如果一個class沒有定義destructor,如果這個class中的一個數據成員擁有destructor,那麼編譯器會自動合成出這個class的dest

原创 從U盤安裝CentOS-5.3-i386到服務器

Linux CentOS U盤安裝Linux 今天給實驗室的服務器裝Linux系統,準備利用U盤來安裝CentOS5.3版本的Linux發行版,在網上搜了下資料,發現一篇文章與寫的不錯,但不知是環境的不同還是原作者在寫博客時有什麼疏忽有

原创 內存映射文件

      內存映射文件,是由一個文件到一塊內存的映射。Win32提供了允許應用程序把文件映射到一個進程的函數 (CreateFileMapping)。內存映射文件與虛擬內存有些類似,通過內存映射文件可以保留一個地址空間的區域,同時將物理

原创 placement new

placement new 是重載operator new的一個標準、全局的版本,它不能被自定義的版本代替(不像普通的operator new和op

原创 Stl_alloc.h

/*  * Copyright (c) 1996-1997  * Silicon Graphics Computer Systems, Inc.  *  * Permission to use, copy, modify, distrib

原创 _type_traits

#ifndef MY_TYPE_TRAITS_H #define MY_TYPE_TRAITS_H   struct my_true_type { };   struct my_false_type { };   template <cl

原创 MP3文件格式解析

轉自:http://blog.163.com/waft_xu/blog/static/438152942008139330707/ 1, MP3簡介 MP3是今天一種常見的音樂格式,但恐怕除了工作要求之外,有興趣對此進行研究的人恐

原创 c++ 虛函數

我們先來討論一個類(Class)的存儲配置。首先來寫一個類,這個類沒有任何數據成員,然後來看看他的內存結構。 程序1: #include <iostream> using namespace std; class Class{ }; in

原创 C++運算符重載

#include <iostream> using namespace std; class INT {  // public:   friend ostream& operator<< (ostream& os, const INT&

原创 Unicode 字符串的轉換

Unicode工程       CString 轉成 char*                CString str = _T("12.21");               _bstr_t bstr = (LPCTSTR)str;  

原创 通過進程名獲取進程ID

BOOL GetProcessIdByName(LPSTR szProcessName, DWORD *lpPID) { STARTUPINFO st; PROCESS_INFORMATION pi; PROCESSENTRY32

原创 bind -boost

bind - boost 頭文件: boost/bind.hpp bind 是一組重載的函數模板.用來向一個函數(或函數對象)綁定某些參數. bind的返回值是一個函數對象. 它的源文件太長了. 看不下去. 這裏只記下它的用法: 9