Time of Update: 2018-12-03
#include <iostream>#include <cstdio>#include <cstring>using namespace std;/** *計算next,其中next[0]=-1,next[1]=0; *next[j+1] = k+1 如果p[j]= p[next[j]] = p[k],這裡k=next[j]k'+1或者0 如果p[j]!=p[next[j]]尋找k'=next[...next[k]...
Time of Update: 2018-12-03
C語言中位移位元運算符位移位元運算符http://www.fsec.cn/rrj/cpp/cjz22.htm 位移位元運算符是將資料看成位元,對其進行向左或向右移動若干位的運算。位移位元運算符分為左移和右移兩種,均為雙目運算子。第一運算對象是移位對象,第二個運算對象是所移的二進位位元。 位移位元運算符的運算對象、運算規則與結果、結合性如表2-16所示。 移位時,移出的位元全部丟棄,移出的空位補入的數與左移還是右移花接木有關。如果是左移,則規定補入的數全部是0;如果是右移,還與被移位的資料
Time of Update: 2018-12-03
在StdAfx.h中引入#pragma comment(lib,"ws2_32.lib")//擷取IP在CPP中添加實現函數代碼 CString strResult; WSADATA wsaData; char name[155]; char *ip; PHOSTENT hostinfo; if ( WSAStartup( MAKEWORD(2,0), &wsaData ) == 0 ) { if( gethostname (
Time of Update: 2018-12-03
//在使用c語言或cpp建立數組時,大量使用new和delete,很不爽 //現在改用使用<array>,很方便,用起來和STL<vector>一樣的//執行效率比<vector>高,幾乎和int myarray[5]效率一樣//將以下代碼儲存為testarray.cpp,格式為UTF-8,使用MinGW編譯://g++ testarray.cpp
Time of Update: 2018-12-03
#include <afxwin.h>#include <stdio.h>#include <windows.h>#include <string>#include "Wininet.h"#pragma comment(lib,"Wininet.lib")//類比瀏覽器發送HTTP請求函數std::string HttpRequest(char * lpHostName,short sPort,char * lpUrl,char *
Time of Update: 2018-12-03
http://msdn.microsoft.com/en-us/library/aa388146%28v=vs.85%29.aspx#include <windows.h>#include <stdio.h>#include <xenroll.h>// Copyright (C) Microsoft. All rights reserved.HRESULT __cdecl main(void){ HRESULT hr = 0; ICEnroll4
Time of Update: 2018-12-03
關於強制類型轉換的問題,很多書都討論過,寫的最詳細的是C++ 之父的《C++ 的設計和演化》。最好的解決方案就是不要使用C風格的強制類型轉換,而是使用標準C++的類型轉換符:static_cast, dynamic_cast。標準C++中有四個類型轉換符:static_cast、dynamic_cast、reinterpret_cast、和const_cast。下面對它們一一進行介紹。static_cast用法:static_cast < type-id > (
Time of Update: 2018-12-03
//任何轉載原始碼的請保留出處作者等相關資訊//作者:chlaws//運行環境:visual studio 2008//描述:銀行家演算法及示範結果//說明:這裡不給出原創的思路,在閱讀過程中有不懂得可以詢問#include <iostream>#include <cstdlib>#include <string>#include <iterator>#include <algorithm>#include <vector>
Time of Update: 2018-12-03
//任何轉載原始碼的請保留出處作者等相關資訊//作者:chlaws//運行環境:visual studio 2008//項目:通訊錄//描述:可以作為課題設計或畢業論文//說明:這裡不給出原創的思路,在閱讀過程中有不懂得可以詢問//main.cpp#ifndef HEADFILE#define HEADFILE#include <iostream>#include <string>#include <algorithm>#include
Time of Update: 2018-12-03
Calling C++ Functions From LuaMy second tutorial dealt with calling Lua functions from C++. This one deals with just the opposite situation – calling C++ functions from Lua. I couldn’t think of a simple example that I was happy with, so I borrowed
Time of Update: 2018-12-03
這篇是說c調用lua的。會通過代碼來展示如何在設定檔裡面配置記錄,並讓c調用去執行。有一個設定檔名稱是“config”用來記錄配置的另外有個.c程式來載入config,並調用config中函數來產生新的記錄。編譯:gcc -g -Wall configbylua.c -o cblua -ldl -llua -lm下面看代碼:configmax =
Time of Update: 2018-12-03
因為現在的項目用到了C++的一些代碼,出現了很多問題,這裡記錄一下1.首先要修改配置 修改成Objective-c++之前沒有一直堅持修改這個配置,想修改C++部分的代碼,最後放棄了,這樣做的原因可以參考這篇文章2.枚舉值 出錯把項目修改成Objective-C++的時候,出現了很多問題 主要的錯誤出在了SDWebImage的庫上面。枚舉值 聲明方式應該採用下面的方式 typedef NS_ENUM(NSInteger, SDWebImageOptions) {
Time of Update: 2018-12-03
seekToEndOfFile將一個檔案的內容附加到另一個檔案中。通過開啟另一個檔案用於寫入的檔案,然後定位到該檔案的結尾,最後將第一個檔案的內容寫入第二個檔案中來實現代碼如下:#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){ @autoreleasepool { NSFileHandle *inFile, *outFile; NSData *
Time of Update: 2018-12-03
net中C#代碼與javaScript函數的相互調用問題。 問: 1.如何在JavaScript訪問C#函數? 2.如何在JavaScript訪問C#變數? 3.如何在C#中訪問JavaScript的已有變數? 4.如何在C#中訪問JavaScript函數? 問題1答案如下: javaScript函數中執行C#代碼中的函數: 方法一:1、首先建立一個按鈕,在後台將調用或處理的內容寫入button_click中; 2、在前台寫一個js函數,內容為document.getEleme
Time of Update: 2018-12-03
委託(delegate)是一種參考型別,我們在處理他的時候要當作類來看待而不是方法,說白了委託就是對方法或者方法列表的引用,調用一個委託執行個體就好像是調用c++中的指標一樣,他封裝了對制定方法的引用,或者說委託起到的是橋樑的作用,執行個體後的委派物件會將給定的參數傳遞給他所回調的方法,並去執行方法。 看一個簡單的例子: //聲明一個委託 delegate int myDelegateHandler(int a, int b); public class A
Time of Update: 2018-12-03
一、概述在軟體系統中,經常面臨著“某個對象”的建立工作,由於需求的變化,這個對象的具體實現經常面臨著劇烈的變化,但是它卻擁有比較穩定的介面。如何應對這種變化?如何提供一種封裝機制來隔離出“這個易變對象”的變化,從而保持系統中“其它依賴該對象的對象”不隨著需求的改變而改變?這就可以用到Factory 方法模式了。二、Factory 方法模式Factory 方法模式定義了一個用於建立對象的介面,讓其子類決定執行個體化哪一個對象。使一個對象的建立工作延遲到其子類。Factory 方法模式的結構圖如下:
Time of Update: 2018-12-03
List<T>轉Json?12345678910111213141516public static string Obj2Json<T>(T data){ try { System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =new
Time of Update: 2018-12-03
//假設你有一個人員集合public class Person{ private string _name; public string Name { get { return _name; } set { _name = value;}}}//假設你有一個人員集合public class PersonCollection : IList{ ... private ArrayList _Persons = new ArrayList(); public Person this[int
Time of Update: 2018-12-03
簡單原廠模式是類的建立模式,又叫做靜態Factory 方法模式。就是由一個工廠類根據傳入的參量決定建立出哪一種產品類的執行個體。一般涉及到三種角色: 工廠類:擔任這個角色的是Factory 方法模式的核心,含有與應用緊密相關的商業邏輯。工廠類在用戶端的直接調用下建立產品對象,它往往由一個具體的類實現。 抽象產品角色:擔任這個角色的類是由Factory 方法模式所建立的對象的父類,或她們共同擁有的介面。一般由介面或抽象類別實現。 具體產品角色:Factory 方法模式所建立的任何對
Time of Update: 2018-12-03
/// <summary> /// 刪除web節點 /// </summary> /// <param name="info"></param> /// <returns></returns> public bool delWebItem(string key) { if