Time of Update: 2018-07-25
http://bbs.csdn.net/topics/390299079 前段時間感興趣研究新浪微博C++介面。有oauth1.0與oauth2.0. 其中1.0已經不被支援,所以使用了0.2.地址在這裡。 發現它是使用vs2008,而我使用的工具是vs2010,轉換不過來(不知道為什麼,oauth1.0的可以正確轉換為vs2010).看它的結構設計是支援跨平台的,所以想也把它按我以前跨平台的組織方式重新組織一下。故有了如下項目(已測試win+linux正常)。
Time of Update: 2018-07-25
友元不能被繼承:即,基類的友元未必是子類的友元;某類型的友元的子類未必是此類型的友元。 詳細的,可以看以下兩節: What does it mean that "friendship isn't inherited, transitive, or reciprocal"? Just because I grant you friendship access to me doesn't automaticallygrant your kids
Time of Update: 2018-07-25
//友元關係的雙向都是不可繼承的#include<iostream>class Base{ friend class Frnd;protected: int i;};class D1 : public Base{protected: int j;};class Frnd{public: int mem(Base b) { return b.i; }//ok int mem(D1 d) { return d.i; }//ok //int mem(D1 d) { return d.j;
Time of Update: 2018-07-25
1,友元函數的定義和作用 我們已知道類具有封裝和資訊隱藏的特性。只有類的成員函數才能訪問類的私人成員,程式中的其他函數是無法訪問私人成員的。非成員函數可以訪問類中的公有成員,但是如果將資料成員都定義為公有的,這又破壞了隱藏的特性。另外,應該看到在某些情況下,特別是在對某些成員函數多次調用時,由於參數傳遞,類型檢查和安全性檢查等都需要時間開銷,而影響程式的運行效率。
Time of Update: 2018-07-25
記憶體流失是編程中常常見到的一個問題,我所遇過的原因有兩個: 1.分配完記憶體後忘記回收 2.代碼有問題,造成想回收卻無法回收,例如: int * p = new int ; p = new int ; // p指標修改,原來申請記憶體的地址沒有記錄下來,於是無法釋放
Time of Update: 2018-07-25
感謝博主:http://blog.csdn.net/zhulinpptor/article/details/6638355 1.CArchive類沒有基類 2.CArchive類是實現對象持久化的方法,它可以把記憶體中的對象持久化到本地磁碟中去,也可以從本地磁碟中讀取資料在記憶體在構建對象 3.CArchive類和輸入輸出資料流類似。輸入輸出資料流處理是acii字元序列,而CArchive類是以一種高效的非冗餘的方式來處理二進位對象資料。
Time of Update: 2018-07-25
1.Unity Time類 1/ Time.time 表示從遊戲開發到現在的時間,會隨著遊戲的暫停而停止計算。 2/ Time.timeSinceLevelLoad 表示從當前Scene開始到目前為止的時間,也會隨著暫停操作而停止。 3/ Time.deltaTime 表示從上一幀到當前幀時間,以秒為單位。 //計時器通過這個使用,update裡把Time.deltaTime累加起來,就是經過的時間 4/
Time of Update: 2018-07-25
賴勇浩(http://laiyonghao.com) 聲明:本文源自 Danny Kalev 在 2011 年 6 月 21 日發表的《The Biggest Changes in C++11(and Why You Should
Time of Update: 2018-07-25
C++多態的實現及原理 C++的多態性用一句話概括就是:在基類的函數前加上virtual關鍵字,在衍生類別中重寫該函數,運行時將會根據對象的實際類型來調用相應的函數。如果物件類型是衍生類別,就調用衍生類別的函數;如果物件類型是基類,就調用基類的函數 1. 用virtual關鍵字申明的函數叫做虛函數,虛函數肯定是類的成員函數。 2. 存在虛函數的類都有一個一維的虛函數表叫做虛表。類的對象有一個指向虛表開始的虛指標。虛表是和類對應的,虛表指標是和對象對應的。 3. 多態性是一個介面多種實現,
Time of Update: 2018-07-25
#include <stdio.h>#include <stdlib.h>#include <string.h>int test_fgets(const char* filePath){ FILE* fp=fopen(filePath,"r"); if(fp==NULL) { printf("open error!%s",strerror(errno)); return -1
Time of Update: 2018-07-25
如下圖所示,隨機產生多個 不重複 的隨機數(整數,100以下),個數可以通過對話方塊視窗擷取;產生資料後,按 降序 將其顯示在ListBox控制項中(每次只能選擇一項),按鈕Up和Down分別上調和下調選擇項; 思路: 在對話方塊Form2中 定義一個屬性Number;
Time of Update: 2018-07-25
Firstly, the Combination Sum 1 & 4 are similar, and Combination Sum 2 & 3 are similar !!! Combination Sum 3 is the special case of Combination Sum 2, and the Combination Sum 4 return the count while Combination Sum return all the combination
Time of Update: 2018-07-25
C語言中的const const是C語言中保留的一個關鍵字,用來定義常量,如果一個變數被const修飾,那麼它的值就不能被改變。使用符號常量寫出的代碼更容易維護;一些指標常常是邊讀邊移動,而不是邊寫邊移動;許多編程規範對於函數參數會強制要求唯讀不寫,在這些情況下,都需要藉助const實現。 那麼有些人會問,C語言中不是已經存在#define了嗎,為什麼還要使用const呢。相比於#define,const修飾符有如下優勢: 1.
Time of Update: 2018-07-25
轉自:http://www.itstrike.cn/Question/5e977ab5-e035-4595-a35b-91aae63fa394.html 1.UTF-8轉Unicode wstring UTF8ToUnicode( const string& str ){ int len = 0; len = str.length(); int unicodeLen = ::MultiByteToWideChar( CP_UTF8, 0,
Time of Update: 2018-07-25
函數原型 void *memcpy(void*dest, const void *src, size_t n); 功能 由src指向地址為起始地址的連續n個位元組的資料複製到以destin指向地址為起始地址的空間內。 標頭檔 #include<string.h> 傳回值 函數返回一個指向dest的指標。 說明 1.source和destin所指記憶體地區不能重疊,函數返回指向destin的指標。 2.與strcpy相比,memcpy並不是遇到’
Time of Update: 2018-07-25
C(和C++)中的宏(Macro)屬於編譯器預先處理的範疇,屬於編譯期概念(而非運行期概念)。下面對常遇到的宏的使用問題做了簡單總結。 關於#和## 在C語言的宏中,#的功能是將其後面的宏參數進行字串化操作(Stringfication),簡單說就是在對它所引用的宏變數通過替換後在其左右各加上一個雙引號。比如下面代碼中的宏: #define WARN_IF(EXP)
Time of Update: 2018-07-25
這裡兩個函數實現GB2313與UTF8格式的互轉,主要用於VC++在擷取網頁內容時解決亂碼問題,因為VC++預設字元集是GB2312的,一般中文網站可能返回的是UTF-8編碼,所以可以用U2G函數進行轉換。 char* U2G(const char* utf8){ int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0); wchar_t* wstr = new wchar_t[len+1];
Time of Update: 2018-07-25
普通sting類型 轉UTF-8編碼格式字串 std::string ofDewarServer::string_To_UTF8(const std::string & str){int nwLen = ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, NULL, 0);wchar_t * pwBuf = new wchar_t[nwLen + 1];//一定要加1,不然會出現尾巴ZeroMemory(pwBuf,
Time of Update: 2018-07-25
#region WWW下載AssetBundle的資源 /// <summary> /// WWW下載AssetBundle的資源 /// </summary> /// <param name="url"></param> /// <returns></returns> public static bool
Time of Update: 2018-07-25
今天晚上閑來無事,便想用C寫個讀取unicode檔案。我平時都是讀取ascii檔案,一直沒什麼問題,結果在讀取unicode檔案時遇到一個小問題,特記下來以做一個留念。 先看剛開始的代碼: FILE* file = _wfopen(L"c:\\BOOTEX.LOG", L"r"); if (file == NULL) { perror("open file errror");