回答
這是不可能的,你必須初始化ctor初始化列表中的引用數據成員。如果您確實需要這樣做,請使用指向數據成員的指針而不是引用。初始化ctor中的指針NULL
,然後在需要時正確初始化它。
但boost :: mutli_index不允許指針。 – Jichao
如果數據對班級至關重要(太多以至於你想根據它進行索引),那麼班級可能應該有自己的數據副本,作爲成員。 –
您必須在構造函數中初始化它(只有通過初始化程序列表),因爲這是引用變量(引用必須初始化)的屬性。
您可以將它初始化爲某個靜態/全局變量,方法是通過默認參數保持它的初始化狀態。
YourClass::YourClass(int& ref = _SomeGlobalVar) : m_RefInClass(ref){}
但是你不能重新初始化它。
如前所述,如果某處需要引用,通常這是一個糟糕的主意 - 通常有一個可靠的原因。
如果對於您正在做的事情有特定的推理,您可能需要have a look at Null Object Patterns。
您可以創建一個空對象,引發某種'未實現'的異常,或者什麼也不做。您仍然需要在初始化程序列表中初始化您的成員變量,但現在至少您可以靈活地在將來進行更改。
- 1. 如何在新類中引用變量?
- 2. ReadOnly C#類中的引用變量
- 3. 如何在asp:HyperLinkField中使用C#變量?
- 4. 如何在Clamato中使用類變量?
- 5. 如何在Objective-c中使用類變量,如「MyClassName.var」?
- 6. C++中的引用變量
- 7. 如何確定變量是否是C#中的類型引用?
- 8. C#如何使類變量引用的類中的另一個值
- 9. 如何在C++中的變量中使用變量?
- 10. 如何在另一個變量內使用變量引用?
- 11. 如何使用類變量?
- 12. C#:通過變量引用類
- 13. 類變量在Objective-C中如何與Realm一起使用?
- 14. 如何在C++類模板中使用靜態變量
- 15. 如何在類中使用數組變量? C++
- 16. 如何使用ref在C#中修改這個類變量?
- 17. 我應該如何在Objective-C中使用類變量?
- 18. 如何在C++中使用其他類成員變量?
- 19. 如何在變量中使用變量?
- 20. 如何使用從其他類一類變量,在C#
- 21. 如何使用變量在C#中標識另一個變量?
- 22. 如何使用一個變量,在C++中另一個變量
- 23. 如何使用變量但從未在C中定義變量?
- 24. 使用JQuery變量引用類
- 25. 在C代碼中引用BASH變量
- 26. 如何在擴展類公共變量中使用變量
- 27. 如何在opencl中引用變量?
- 28. 如何在javascript中引用django變量?
- 29. 如何在ansible playbook中引用變量?
- 30. 如何在bash中引用變量值?
請注意,這往往是一個糟糕的主意。這意味着(除其他外)該類的對象不能被分配或複製。 –
@JerryCoffin:沒有任務是有意義的 - 你不能改變參考 - 但應該可以複製。 – MSalters