stdstring

    3熱度

    2回答

    我對一些基本的字符串實現有點困惑。我一直在通過消息來源瞭解內心的工作並學習新事物。我不能完全掌握內存如何管理。 從基本字符串實現 原始分配器只是一些小花絮是char類型 typedef typename _Alloc::template rebind<char>::other _Raw_bytes_alloc; ...然後在分配代表被放置在分配的緩衝區__size內計算也適合字符 size_t

    -1熱度

    2回答

    我知道這個問題可能聽起來很奇怪,但有一些遺留代碼,其中有一個unordered_map其中的std :: string鍵最大大小爲8 + 1(1表示空終止)。 我正在接受char [8]變量中的字符串,我不希望將strcpy僅用於find()調用的temp std :: string。 有沒有辦法實現一些比較器,所以我可以直接在find()調用中使用char [8]? 請記住,字符[8]可能包含類

    6熱度

    1回答

    GDB將一個字符串作爲參數傳遞給構造函數時,我正在經歷一個奇怪的行爲。 代碼工作正常,但是當我在調試器中單步執行時,GDB似乎認爲我的參數位於不同的地址。有人知道這裏發生了什麼嗎? 這是我可以創建演示該問題的最簡單的程序: --([email protected])--------------------------------------------(/home/jwcacces)-- --$

    5熱度

    4回答

    我只是寫了一個函數: void doSomeStuffWithTheString(const std::string& value) { ... std::string v = value; std::cout << value.c_str(); ... } 但後來我把這個與 doSomeStuffWithTheString("foo"); 和它的作品。所以我會認爲這是行得通的(

    4熱度

    2回答

    這previously answered question解釋了爲什麼我下面發佈的代碼不起作用。我有一個後續問題:是否有一種解決方案在概念上是等價的,即實現編譯時字符串連接,但以C++ 11實際支持的方式實現?使用std :: string是完全不必要的。 constexpr std::string foo() { return std::string("foo"); } constexpr s

    2熱度

    1回答

    只讀21.3.6.1 basic_string :: find - 並且沒有提到pos參數在字符串本身的範圍內。 21.3.6.1 basic_string的::找到 SIZE_TYPE查找(常量basic_string的& STR, SIZE_TYPE POS = 0)常量; 1種效果:確定最低位置XPOS,如果可能的話,使得 下列條件都得到: - POS < = XPOS和XPOS + str

    1熱度

    1回答

    我寫了一個函數,它試圖通過返回一個std :: string而不是寫入用戶提供的char*來自動分配sprintf。 (請,沒有答案,建議輸入輸出流或Boost.Format庫或朋友 - 我知道他們的存在,我在其他情況下不使用它們,但有一個要求,對於這種特殊情況下) std::string FormatString(const std::string& format, va_list argLis

    1熱度

    1回答

    我有一個類,它看起來像這樣: class MyClass { public: void drawText(const QString& rText); void drawText(const std::string& rText); }; 我重載drawText()方法,因爲我想接受QString以及std::string。 但是,當我寫的東西是這樣的: MyClass

    0熱度

    2回答

    偶爾會遇到一些核心轉儲,我無法弄清楚它們爲什麼會發生。通常,在將av值分配給字符串時會發生這種情況。以下是這種情況之一的回溯。核心轉儲似乎是此行中我的C++代碼引起的: m_strValue = "---"; 我無法弄清楚什麼是在這種情況下怎麼回事,我家裏有人能在這個問題上提供一些線索。 下面是回溯 #0 0x40227ed4 in *__GI_raise (sig=6) at ../nptl

    3熱度

    3回答

    我希望它考慮任何不是字母字符的分隔符。我怎樣才能做到這一點?