要求是這樣的:
void *是某個函式的指標(fun(void * result)).
result的格式是這樣的,乙個int值,若干個物件指標
假設是obj型別的物件
1,首先,我試了這種方法
obj * p = null;
memcpy(result,p)
這樣是出問題的。因為memcpy並不是將p的指標內容拷到result,而是將p指向的內容(也就是null)拷過去
這也說明我在程式設計的時候,有個問題,想當然的做事,不嚴謹。
2,然後我用了這種方法
(obj*)result = p
這種方法也是不對的,因為result是左值,不能被改變。
3。用了結構體方法
struct aaa
int x;
obj * p;
}a;a a;
memcpy(result,&a,sizeof(a));
但是這樣,解決不了解析時候問題
4.最終用了這種方法
obj * p = null;
memcpy(result,&p)
然後在解析的時候,我發現了乙個奇怪的現象
memcpy(&t,result,sizeof(int));
這樣,t能得到正確的值
cout<<(*((tt*)result)).s《但是這樣,卻得不到正確的值
也就是說內建型別可以強轉指標,而類型別卻不可以。期待高手的回答
附上測試**:
#include
#include
#include
#include
using namespace std;
class tt
;int main()
一次關於sklearn crfsuite的安裝之旅
為了在windows上跑crf,我需要安裝sklearn crfsuite,最開始想到的是使用pycharm進行環境配置,裝上了sklearn crfsuite。跑起來,額,出錯了 正在訓練評估crf模型.traceback most recent call last file c users cc...
一次關於 的使用
今天遇到了乙個問題,值得一記 首先在我看專案 時發現了乙個問題 有乙個js的export如下 大家可以注意一下config 這裡為什麼要如此寫法呢?首先這裡用的時es6的箭頭函式 而此種寫法 等同於 其實這裡我們可以直接使用config 就 可以,為什麼還要多以一舉,用函式來返回呢,原因是假如我們用...
一次dp的小總結
dp也學了很久了 是該放乙個小總結的時候了 其實dp很早就講了 只是當時講的很快 所以我也是迷迷糊糊的 一看到dp就發怵 現在又講一遍才好一些 dp其實跟貪心類似 只不過dp中不同的狀態都是相互影響的 有兩個性質 最優化原理和無後效性 照著書上打的.其實學了這麼久 我覺得我也算是才剛剛入門 只能敲敲...