關於 運算子效率低下的問題,好的解決辦法

2021-08-21 23:02:43 字數 1271 閱讀 2884

我們知道用「&」號比用「+」號快。因為「+」要對字元竄變數做型別判斷並轉換。

當時也沒想出什麼好辦法。只是將兩次「&」運算拆開,速度提了一倍。還是解決不了問題。

結果就是:fori1to5000,i以字元形式相加。用&運算,要300-500ms

現在試試下面這個。建了個cstrcat的類。

程式**:

classcstrcat'這是類開始。

privatei,sa()

publicpropertygetvalue

redimpreservesa(i)

value=join(sa,"")

endproperty

privatesubclass_initialize()

i=clng(0)

redimsa(500)

endsub

privatesubclass_terminate()

erasesa

endsub

publicfunctionadd(ps)

iflen(ps)=0thenexitfunction

if(i>=ubound(sa))thenupsize

sa(i)=ps

i=i+1

endfunction

privatesubupsize()

dimu

u=ubound(sa)

redimpreservesa(clng(u+u*0.1))

endsub

endclass

你可以用這個**測試一下效能分別:

程式**:

<%

pageexetime1=timer*1000'計時開始

setsc=newcstrcat

fori=0to5000

sc.addi&"aaaaaa"

next

response.writesc.value

'計時結束

response.write",processedtime:"&fix(abs(cdbl(timer)*1000-pageexetime1))&"ms"

pageexetime2=timer*1000

fori=0to5000

sc2=sc2&i&"aaaaaa"

next

response.writesc2

'計時結束

response.write",processedtime:"&fix(abs(cdbl(timer)*1000-pageexetime2))&"ms

"%>

Scala關於運算子問題

如果想在變數名 類名等定義中使用語法關鍵字 保留字 可以配合反引號 val val 42這種形式叫中置操作符,a 操作符 b 等同於 a.操作符 b 後置操作符,a 操作符等同於 a.操作符,如果操作符定義的時候不帶 則呼叫時不能加括號 無參函式不省略小括號,呼叫函式加不加小括號都行 無參函式省略小...

關於python的運算子

運算子的概念 運算子用於執行 運算,會針對乙個以上的運算元專案來進行運算。例如,2 3,其運算元是2和3,二運算子則是 運算子的分類 算數運算子 算術運算 arithmetic operators 符號,就是用來處理四則運算的符號,這是最簡單,也最常用的符號,尤其是數字的處理,幾乎都會使用到算術運算...

關於過載流插入運算子和流提取運算子的問題

在c 編譯系統中,其類庫中提供輸入流類istream和輸出流類ostream,cin和cout分別是兩個類的物件。過載兩運算子格式如下 istream operator istream 自定義類 ostream operator ostream 自定義類 並且只能將其過載為友元函式,而不能作為自定義...