我目前正在學習編程語言的原理。誰能告訴我這是什麼意思,通過引用可能會導致別名問題?傳遞參考(別名問題)
0
A
回答
-2
通過引用傳遞,方法可以更改原始數據。
+1
沒有足夠的信息被認爲是一個答案。 –
0
當多個符號指向同一個內存塊時會發生混疊。這應該避免以減少混淆。下面是混疊的一個簡單的例子:
#include <iostream>
int main()
{
int array[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
int& alias = array[3]; // alias points to 4th element in the array.
alias = 100; // 4th element in the array set to 100!
// this is best avoided because it is not
// immediately obvious that assigning a value
// to alias will affect the array.
for(std::size_t i = 0; i < sizeof(array)/sizeof(array[0]); ++i)
std::cout << array[i] << std::endl;
return 0;
}
和輸出:
Success time: 0 memory: 3340 signal:0
0
1
2
100
4
5
6
7
8
9
在這個例子中它是足夠的alias
點陣列中的第四元素,但在大的生產環境中,這明顯可能會造成嚴重破壞並且難以解決錯誤。
+0
以及它的有害程度還不太清楚....也許有一個小例子? – ishan3243
相關問題
- 1. 參考傳遞
- 2. 傳遞參考?
- 3. 傳遞參考
- 4. imagebutton傳遞參考
- 5. perl傳遞參考
- 6. swift:傳遞參考
- 7. php傳遞參考
- 8. php參考傳遞
- 9. 作爲參考傳遞控制參考
- 10. Java和JGraphT - 不理解結果 - 傳遞值/參考問題或別的東西?
- 11. 參考問題
- 12. 參考問題?
- 13. 魚別名傳遞多個參數,訪問特定參數
- 14. SSRS參數傳遞問題
- 15. Java參數傳遞問題
- 16. 問題與參數傳遞
- 17. JSP參數傳遞問題
- 18. 按值傳遞與傳遞參考
- 19. 如何解決參考錯誤傳遞的問題?
- 20. 問題與傳遞展開參考目標C初始化
- 21. Java的傳球用listNode問題參考
- 22. 參數傳遞的選擇別名
- 23. 傳遞參數別名慶典
- 24. 函數傳遞參考
- 25. 在C++中傳遞參考
- 26. Cython&C++:傳遞參考
- 27. 傳遞值作爲參考
- 28. 類中的傳遞參考
- 29. 數組和參考傳遞
- 30. 傳遞參考活動
你是否熟悉通過引用傳遞的是什麼?你是否熟悉別名問題? – yan
我很熟悉通過ref,但我不能理解別名問題的含義。 – ishan3243
「別名」通常指您可以引用值和數據的方式。因此,如果多個名稱無意中引用相同的值,或者失去了別名數據的方式,則可能會出現「別名」問題。 – yan