它包含在cpp類源文件中, 它具有以下代碼和我能夠搜索的內容,我沒有看到任何派生類的對象聲明,這就是爲什麼使用這個函數嗎?extern「C」的功能是什麼?
extern "C"
{
derived_class * create_derv_class_resource(dt1 arg1, dt2 arg2)
{
return new derived_class(arg1,arg2);
}
}
它包含在cpp類源文件中, 它具有以下代碼和我能夠搜索的內容,我沒有看到任何派生類的對象聲明,這就是爲什麼使用這個函數嗎?extern「C」的功能是什麼?
extern "C"
{
derived_class * create_derv_class_resource(dt1 arg1, dt2 arg2)
{
return new derived_class(arg1,arg2);
}
}
我不知道,該怎麼解釋關於「語法」,它沒什麼特別的。
該函數的語義是它創建一個derived_class
類型的對象,將給定的參數傳遞給構造函數。
調用此函數而不是調用new
直接可能的點:
extern "C"
也表明這一點。我對你是否真的可以做到這一點持懷疑態度,但它有效。 [這是一個要點](https://gist.github.com/amullins83/9853816d1609581db169)。 –
你問什麼是不明確的,但如果此代碼的工作,很明顯,你有一個對象命名derived_class
的地方,和一個,如果它的構造需要dt1
和dt2
參數。
功能create_derv_class_resource()
能夠從C
稱爲但這似乎不太可能在這裏,因爲C
可能不會知道它需要解析原型derived_class
類型。
你的問題不清楚....你問爲什麼這個函數被定義,如果無處'derived_class'被使用? –