如何將指針(Object *ob
)傳遞給原型爲void foo(Object &)
的函數?如何將指針轉換爲C++中的引用
回答
這樣稱呼它:
foo(*ob);
注意,沒有鑄造怎麼回事,在你的問題標題建議。我們所做的所有事情都是去引用指向我們傳遞給函數的對象的指針。
@Ricobob這就是這麼經常發生的事情。對易於理解的簡單問題的回答往往會獲得大量的贊成票。由於選民無法輕易判斷優點,所以對棘手問題的長時間複雜答案往往得不到讚賞。至於代表,由於代表資格,我對此沒有任何意見。 ;-)但我衷心同意。我希望複雜的答案獲得更多的代表。 – 2012-04-16 21:42:37
@DavidHeffernan是的,這似乎是問題所在 - 我想這是一個問題,需要MetaSO - 如果有人還沒有提出它。 – Ricibob 2012-04-16 21:47:38
@ricobob我希望它已經被提出。 – 2012-04-16 21:49:39
foo(*ob);
猜測和添加很多...通常不是一個很好的答案的格式在這裏(儘管在這種情況下它是正確的),這可能就是爲什麼你有一個downvote。 – KillianDS 2012-04-16 11:20:45
bhhaaa,我添加了「我猜」,因爲它讓我至少寫了30個字符。這也是我添加「...........」的方式 – 2012-04-16 11:41:20
@RoeeGavirel我是你的第一個選舉人,因爲我覺得自己的決定很苛刻。 FWIW你可以超過30個字符的限制,但添加一個HTML註釋<!----------------------------->我做了我的答案的第一個版本!我的編輯到你的答案顯示如何。 – 2012-04-16 12:04:25
用於鑄造指針全部示例反對
class myClass
{
public:
void sayHello()
{
cout << "Hello";
}
};
int main()
{
myClass* myPointer;
myClass myObject = myClass(* myPointer); // Cast pointer to object
myObject.sayHello();
return 0;
}
我很驚訝onlinegdb適用於此,因爲這裏有很多問題。 首先,myPointer未初始化 - new myClass()在哪裏?其次,標記爲「//指向對象的轉換指針」的行會這樣做,然後進行一堆複製。當它被分配給myClass myObject時,從解引用的未初始化的指針構造另一個myClass,然後(取決於編譯器)。 – 2018-02-27 10:13:46
- 1. 如何將指針轉換爲引用?
- 2. 如何將struct屬性轉換爲C++中的指針引用?
- 3. 如何將ArrayList轉換爲指向JNI中指針的指針,以及如何將C++類轉換爲jobject?
- 4. 將引用轉換爲C++中的指針表示法
- 5. 如何將浮點指針轉換爲C/C++中的int指針?
- 6. 將C++指針轉換爲C#成員#
- 7. 將指針從C++轉換爲C#
- 8. 如何將雙指針矩陣轉換爲C++中的單個指針向量?
- 9. 如何將原始指針轉換爲C++中的唯一指針
- 10. 你如何將空指針轉換爲C中的字符指針?
- 11. 將本機指針轉換爲C++ \ CLI託管對象引用?
- 12. 如何將pid轉換爲C++中的const char指針?
- 13. 如何將結構轉換爲D中的C指針?
- 14. 如何將指針轉換爲C中的double?
- 15. 如何正確地將引用轉換爲指針?
- 16. 將C代碼轉換爲Java:指針
- 17. 將C指針轉換爲Java
- 18. 將指針C#類型轉換爲F#?
- 19. 如何將指針轉換爲對象?
- 20. 如何將類型size_t的指針轉換爲枚舉指針?
- 21. 將int轉換爲指針
- 22. 如何將傳遞的C++長指針轉換爲java指針或數組
- 23. C++:如何將函數指針的名稱轉換爲文本?
- 24. 如何將指針的Objective-C數組轉換爲Swift?
- 25. 如何將一組指針轉換爲一組const指針?
- 26. 如何將ref ^指針轉換爲原始指針?
- 27. 如何將tchar指針轉換爲char指針
- 28. C++指針轉換
- 29. 將const引用強制轉換爲const指針的常量指針
- 30. 將轉換爲索引和指針並指向容器的類
標題說 「投[原文如此]參照指針」,但問題用指針開始並需要參考。它是哪個方向? – MSalters 2012-04-16 10:56:09
@MSalters它應該*轉換*。我在編輯它。但我一直在尋找任何解決方案,所以我提到* cast * – Dewsworld 2012-04-16 11:00:53