我正在閱讀一堆來自XML文件的應用程序的「設置」,我希望這些設置駐留在所有我可以訪問的函數的命名空間中。我通過在標頭中聲明命名空間變量爲'extern int test'成功完成了這項工作。然後在源文件'int test {0};'中初始化它們。然後在源文件中有一個函數,它讀取XML並將值賦給名稱空間變量,並且所有內容都是hunky dory。 問題是我意識到當他們只需要保持不變時,我正在創建~1
C++標準是否說std::initializer_list<T>是對本地匿名數組的引用?如果它說,那麼我們不應該返回這樣一個對象。標準中的任何部分都這樣說? 另一個問題,是std::initializer_list<T>可變的潛在對象?我試圖修改它: #include <initializer_list>
int main()
{
auto a1={1,2,3};
auto
test :: VM.MVector s Int -> Int
test x = runST $ do
a <- return x
VM.read a 0 -- Type error
我想弄清楚如何不把一個ST monad中的所有東西都放到一個函數中。如果我試圖修改x或從中返回值,編譯器會抱怨可變向量的狀態部分不匹配。 在Haskell中可能對傳遞的可變向量進行操