日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

mwArray

發(fā)布時(shí)間:2024/1/18 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mwArray 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

mxArray 和 mwArray 的區(qū)別

首先,mxArray是MatlabC 函數(shù)庫(kù)的結(jié)構(gòu)體,而mwArray是Matlab C++ 函數(shù)庫(kù)中對(duì)mxArray的包裝

類。

其次,二者的內(nèi)存管理方式不同。mxArray的內(nèi)存管理方式比較松散,由于是C函數(shù)庫(kù),沒有數(shù)據(jù)

封裝,必須對(duì)臨時(shí)陣列和約束陣列的概念極為明確,并且須 小心地防止內(nèi)存泄漏(要多寫好多代

碼)。盡管有自動(dòng)內(nèi)存管理機(jī)制(mlfEnterNewContext,mlfReleasePreviousContext),仍然要處處

調(diào)用mlfAssign,麻煩得很。然而mwArray就好的多,一切交給 C++對(duì)象去搞定,你只要放心地用

就可以了。不過Matlab C++函數(shù)庫(kù)為了防止頻繁內(nèi)存分配和釋放重寫了內(nèi)存分配和釋放等函數(shù)。

你會(huì)發(fā)現(xiàn)對(duì)于mwArray a,b; a=b;實(shí)際上并沒有生成兩個(gè)相同數(shù)據(jù)塊,只是指針,只有發(fā)成數(shù)據(jù)改

變時(shí)才copy完整數(shù)據(jù)。

再次,這兩個(gè)東西各自有一套與之相對(duì)應(yīng)的函數(shù)。函數(shù)的返回值類型不同,需要多加注意。

最后,用的時(shí)候mxArray要使用指針,而mwArray直接當(dāng)類對(duì)象使。如果你不是Hardcore級(jí)的牛人

或具有Hardcore傾向的潛牛人,強(qiáng)烈建議使用后者!可以把mwArray看成類似于程序語(yǔ)言中int, float等基本類型,在具體用 的過程中轉(zhuǎn)換成你想要的類型。如果從面向?qū)ο缶幊痰慕嵌葋?lái)看,mwArray其實(shí)就是所有數(shù)據(jù)類型的基類,類似于MFC中的

Object對(duì)象。在 Matlab的開發(fā)中,所有的數(shù)據(jù)對(duì)象都先當(dāng)成mwArray來(lái)看待,函數(shù)返回值也是以

mwArray類型或mwArray數(shù)組返回,在二次開發(fā)中,根據(jù) 需要轉(zhuǎn)換成需要的數(shù)據(jù)類型就可以了,

我一般做是將mwArray先轉(zhuǎn)成string,然后再將string解析成數(shù)值!

mwArray感覺如同面向?qū)ο笳Z(yǔ)言中的object類,正因?yàn)槿绱薽atlab的 變量和一般的編程語(yǔ)言不

同,它不區(qū)分ing 8h"@t,float等等。如果熟悉C#的話,對(duì)這個(gè)估計(jì)可以理解的更深。用matlab做法,

mwarray是它的基 本數(shù)據(jù)類型,單個(gè)變量和數(shù)組均適用,具體需要的時(shí)候可以轉(zhuǎn)換成相應(yīng)的數(shù)據(jù)

類型。詳細(xì)的可以查查matlab的幫助文件,有比較詳細(xì)的說(shuō)明。

聲明

mxArray:

mxArray *a;

mwArray:

mwArray a;

銷毀

mxArray

mxDestroyArray a;

mwArray

mwArray類的析構(gòu)函數(shù)自動(dòng)銷毀對(duì)象

g 8h"@量賦值

mxArray

memcpy(dest_ptr,source_ptr,MAX_SIZE);

mwArray

mwArray in1(3, 3, mxDOUBLE_CLASS, mxREAL); mwArray in2(3, 3, mxDOUBLE_CLASS, mxREAL); in1.SetData(data, 9); in2.SetData(data, 9);

總結(jié)

以上是生活随笔為你收集整理的mwArray的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。