0
A
回答
9
如果A
是一個迭代器,那麼*A
會爲您提供迭代器「指向」的值。然後將&
運算符應用於該值以獲取該值的地址。除非&
運算符超載。
簡單的,有點笨例如:
struct Foo
{
// Some data...
};
std::vector<Foo> vector_of_foo;
// Code to populate vector_of_foo
for (auto A = vector_of_foo.begin(); A != vector_of_foo.end(); ++A)
{
Foo* a = &*A;
// Do something that requires a pointer to Foo...
}
+0
該示例超過10000字:)謝謝。 – zell
2
假設A
是一種對象,那麼可能*
是一個運算符。
如果A
是迭代器,那麼a
可能是迭代器指向的當前元素的地址。
3
運算符*可能被重載,並且它通常會爲迭代器和智能指針重載。
如果A
是類似指針語義的類和你想獲得原始指針珍惜它指向,那麼你必須申請符*(訪問值),然後運營商&(檢索地址) 。
這是最有可能的用例,當你看到這樣的構造。在不知道A
和相關類別是什麼的情況下不可能知道更多:*可以被重載以執行其他操作並且&也可以被重載。
-1
這是我在大學裏學的解釋。 & = 「在數值」
& * A =從左至右 「在A處的,值地址」
- = 「的地址」。
相關問題
- 1. 什麼是[A-Z]含義[A-Za-z]?
- 2. $ a = [$ a]在PHP中的含義是什麼?
- 3. 什麼是後{a = 5; A = A ++; Syso(a);}
- 4. a + = b和a = + b之間的區別是什麼,a ++和++ a?
- 5. x的值是什麼? X = A ++ + ++ A + A ++
- 6. 「a = a || []」是什麼意思?
- 7. 爲什麼a是2130567168 for a C++?
- 8. C中*(a [1])和*(* a + 1)之間的區別是什麼?
- 9. a ++和++ a或a--和--a在java中有什麼區別?
- 10. Websphere中的「A」日誌指示符的含義是什麼?
- 11. A a有什麼區別?和A a();?
- 12. a-z-A-Z在正則表達式中的含義是什麼?
- 13. 什麼是Haskell中的'(float a,Num(a - > a))'?
- 14. 當a = 1時,a,a ++,++ a的輸出是什麼;
- 15. a = x和a = x在Python中的區別是什麼?
- 16. Scala中的[A]是什麼?
- 17. a = a + b和a + = b之間的區別是什麼?
- 18. 爲什麼sizeof('a')在C中是4?
- 19. Python:爲什麼顛倒(a)==顛倒(a)返回False其中a是數組?
- 20. C++中的* const * a是什麼意思
- 21. python中的a = b = c是什麼?
- 22. 應該是什麼回聲++ $ A + $ A ++
- 23. a,&a和* a有什麼區別?
- 24. jQuery針對此> a其中a不是主題
- 25. 爲什麼(a,a)不是函子?
- 26. 什麼是sed中的':a'和'ta'?
- 27. A = A〜= 0是做什麼的,我該如何指定它?
- 28. 「a,b,c」.split(「,」)優於[「a」,「b」,「c」]的優點是什麼?
- 29. 這個字符序列的可能含義是什麼? A&#C
- 30. a,b = b,a + b和a = b,b = a + b在fibonacci中的區別是什麼[Python]
C或C++?這裏非常重要的區別! (除非這裏的所有內容都是內置類型,如果是這種情況,請說明) –
什麼是'A'?... –
請記住,C++有運算符重載,所以不可能在不知道「A」是什麼的情況下回答,什麼運營商爲它重載。 –